2024-01-25 00:01:40 +0100 | <haskellbridge> | 15<Jade> I'm wondering if you could build a proper `Enum [a]` instance using an `(Enum a, Bounded a)` constraint. |
2024-01-25 00:02:09 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-01-25 00:03:00 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-01-25 00:03:57 +0100 | <ncf> | might need Eq for fromEnum |
2024-01-25 00:04:45 +0100 | <haskellbridge> | 15<Jade> right |
2024-01-25 00:04:49 +0100 | <ncf> | i guess Enum implies Eq... why is it not a superclass |
2024-01-25 00:04:52 +0100 | dorin | (~dorin@user/dorin) |
2024-01-25 00:05:55 +0100 | <geekosaur> | because it can often be done by patterrn matching which doesn't need Eq? |
2024-01-25 00:07:05 +0100 | <ncf> | ? |
2024-01-25 00:14:22 +0100 | <EvanR> | what if i ask is countably denumerable implying decidably equal |
2024-01-25 00:16:32 +0100 | shapr | (~user@c-24-218-186-89.hsd1.ma.comcast.net) |
2024-01-25 00:17:40 +0100 | <ncf> | should be |
2024-01-25 00:26:49 +0100 | pointlessslippe1 | (~pointless@212.82.82.3) (Ping timeout: 264 seconds) |
2024-01-25 00:36:03 +0100 | mikoto-chan | (~mikoto-ch@85-76-72-21-nat.elisa-mobile.fi) (Ping timeout: 256 seconds) |
2024-01-25 00:48:03 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2024-01-25 00:48:21 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-25 00:50:13 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
2024-01-25 01:00:17 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2024-01-25 01:02:19 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2024-01-25 01:17:06 +0100 | alexherbo2 | (~alexherbo@195.14.23.93.rev.sfr.net) (Ping timeout: 250 seconds) |
2024-01-25 01:18:55 +0100 | mmhat | (~mmh@p200300f1c73bf455ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1) |
2024-01-25 01:21:23 +0100 | pointlessslippe1 | (~pointless@212.82.82.3) |
2024-01-25 01:25:07 +0100 | dorin | (~dorin@user/dorin) (Quit: Client closed) |
2024-01-25 01:27:54 +0100 | Square2 | (~Square4@user/square) |
2024-01-25 01:29:49 +0100 | Square | (~Square@user/square) (Ping timeout: 264 seconds) |
2024-01-25 01:33:52 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
2024-01-25 01:34:26 +0100 | euleritian | (~euleritia@dynamic-176-006-178-120.176.6.pool.telefonica.de) |
2024-01-25 01:37:01 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 264 seconds) |
2024-01-25 01:38:44 +0100 | TonyStone | (~TonyStone@074-076-057-186.res.spectrum.com) (Quit: Leaving) |
2024-01-25 01:42:37 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-01-25 01:47:45 +0100 | rvalue | (~rvalue@user/rvalue) |
2024-01-25 01:48:58 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-95.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-01-25 01:56:46 +0100 | myxos | (~myxos@065-028-251-121.inf.spectrum.com) (Quit: myxos) |
2024-01-25 02:05:08 +0100 | myxos | (~myxos@065-028-251-121.inf.spectrum.com) |
2024-01-25 02:10:51 +0100 | ddellacosta | (~ddellacos@ool-44c73d16.dyn.optonline.net) |
2024-01-25 02:12:59 +0100 | ddellacosta | (~ddellacos@ool-44c73d16.dyn.optonline.net) (Client Quit) |
2024-01-25 02:13:08 +0100 | ddellacosta | (~ddellacos@ool-44c73d16.dyn.optonline.net) |
2024-01-25 02:14:07 +0100 | anpad | (~pandeyan@user/anpad) |
2024-01-25 02:14:49 +0100 | pandeyan | (~pandeyan@192-184-249-55.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds) |
2024-01-25 02:15:37 +0100 | mima | (~mmh@aftr-62-216-211-11.dynamic.mnet-online.de) (Ping timeout: 260 seconds) |
2024-01-25 02:16:25 +0100 | <Axman6> | Today in Axman's adventures in programming Python: Doing it all in C and doing FP in the C preprocessor so he doesn't have to write Python |
2024-01-25 02:18:59 +0100 | <yushyin> | interesting |
2024-01-25 02:20:24 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-25 02:27:34 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-25 02:34:01 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds) |
2024-01-25 02:34:03 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2024-01-25 02:34:11 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-01-25 02:35:24 +0100 | Lord_of_Life_ | Lord_of_Life |
2024-01-25 02:40:01 +0100 | xff0x | (~xff0x@ai085147.d.east.v6connect.net) (Ping timeout: 264 seconds) |
2024-01-25 02:40:42 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2024-01-25 02:49:07 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 02:50:57 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2024-01-25 03:06:53 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-01-25 03:18:48 +0100 | TonyStone | (~TonyStone@074-076-057-186.res.spectrum.com) |
2024-01-25 03:19:53 +0100 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2024-01-25 03:21:35 +0100 | pointlessslippe1 | (~pointless@212.82.82.3) (Ping timeout: 264 seconds) |
2024-01-25 03:27:53 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2024-01-25 03:31:14 +0100 | pointlessslippe1 | (~pointless@212.82.82.3) |
2024-01-25 03:43:34 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-25 03:45:08 +0100 | krei-se | (~krei-se@p508747fd.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2024-01-25 03:45:56 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-01-25 03:53:05 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-25 03:56:17 +0100 | causal | (~eric@50.35.85.7) |
2024-01-25 03:57:47 +0100 | mxs | (~mxs@user/mxs) (Remote host closed the connection) |
2024-01-25 04:06:20 +0100 | <jackdk> | Axman6: compile to wasm, wrap wasm in python module |
2024-01-25 04:07:44 +0100 | <jackdk> | IIRC you sent me the video link |
2024-01-25 04:08:26 +0100 | <Axman6> | well since this will run on a very specific piece of hardware, there's no needc to make it cross platform in any way |
2024-01-25 04:20:22 +0100 | mobivme | (~mobivme@112.201.111.217) (Ping timeout: 256 seconds) |
2024-01-25 04:21:55 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d9f4:da25:bff2:5432) (Remote host closed the connection) |
2024-01-25 04:22:16 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d9f4:da25:bff2:5432) |
2024-01-25 04:33:25 +0100 | pastly | (~pastly@gateway/tor-sasl/pastly) (Remote host closed the connection) |
2024-01-25 04:36:56 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-01-25 04:38:31 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-01-25 04:40:52 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Leaving...) |
2024-01-25 04:40:53 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-25 04:41:21 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-01-25 04:41:31 +0100 | pointlessslippe1 | (~pointless@212.82.82.3) (Ping timeout: 260 seconds) |
2024-01-25 04:41:48 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-01-25 04:45:40 +0100 | tri_ | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-25 04:48:07 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 246 seconds) |
2024-01-25 04:48:07 +0100 | euleritian | (~euleritia@dynamic-176-006-178-120.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-25 04:48:37 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 04:48:37 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-01-25 04:48:51 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-01-25 04:51:35 +0100 | td_ | (~td@i5387090C.versanet.de) (Ping timeout: 264 seconds) |
2024-01-25 04:53:24 +0100 | td_ | (~td@i53870927.versanet.de) |
2024-01-25 04:53:35 +0100 | <tri_> | hi, im reading about foldable, and I cannot grasp the intuition for the Foldable Maybe yet |
2024-01-25 04:54:01 +0100 | <tri_> | can anyone tell me an easy reason why i would want to fold a maybe? |
2024-01-25 04:54:43 +0100 | <tri_> | I do understand, and can physically imagine folding a list, like fold an origami of multiple value into 1 final value for, say, a sum, an average, a min, a max |
2024-01-25 04:54:58 +0100 | <tri_> | but i haven't developed an intuition for folding a maybe yet |
2024-01-25 04:56:59 +0100 | <jackdk> | tri_: I find it helps to consider `Maybe` as a list of zero or one elements |
2024-01-25 04:57:56 +0100 | <tri_> | oh that helps a quite a bit! I need to think a bit more to get used to it |
2024-01-25 04:59:06 +0100 | <tri_> | so the whole point of Foldable is to 1) get rid of the structure, e.g. List or Maybe, to expose a summarised value 2) apply a monoidal operation to get to that summarised value |
2024-01-25 04:59:25 +0100 | <tri_> | it's like gutting out the inner value |
2024-01-25 04:59:33 +0100 | mxs | (~mxs@user/mxs) |
2024-01-25 05:01:06 +0100 | _xor | (~xor@ip-208-102-243-175.dynamic.fuse.net) (Quit: brb/bbiab) |
2024-01-25 05:03:13 +0100 | <jackdk> | Axman6 has a take that `toList :: Foldable a => t a -> [a]` is the fundamental operation but I don't know if he's got links about it |
2024-01-25 05:05:45 +0100 | <tri_> | that's an interesting function, but what's your point when you bring it up? |
2024-01-25 05:05:52 +0100 | <tri_> | i dont get it |
2024-01-25 05:09:26 +0100 | <tri_> | that's a question, sorry if that sounds like im mocking you |
2024-01-25 05:17:24 +0100 | <jackdk> | tri_: Nah, no offence taken. I bring it up in case it helps you see the "essence" of `Foldable`, where in the `Maybe` instance, `toList = maybeToList` |
2024-01-25 05:20:14 +0100 | <tri_> | i actually have a better understanding now, Im treating Either, Maybe, Tuple as a list of 1 item. And folding will destroy the structure to apply the monoidal opeartion to the item inside |
2024-01-25 05:20:19 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds) |
2024-01-25 05:20:43 +0100 | <tri_> | thank you |
2024-01-25 05:23:33 +0100 | <tri_> | for these "one-item" list, fold is kinda useless, as it only destroys the structure, exposing the inner value |
2024-01-25 05:24:17 +0100 | <tri_> | where as foldr and foldl and foldMap will be more useful, because i can specify a function to apply to the inner item, after destroying the structure |
2024-01-25 05:31:24 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2024-01-25 05:36:34 +0100 | aforemny | (~aforemny@2001:9e8:6cf6:d000:dd64:8ab1:7668:b8d6) |
2024-01-25 05:36:45 +0100 | aforemny_ | (~aforemny@2001:9e8:6cd9:9100:ac0d:f435:5523:64b3) (Ping timeout: 260 seconds) |
2024-01-25 05:44:23 +0100 | <EvanR> | :t fold |
2024-01-25 05:44:24 +0100 | <lambdabot> | (Foldable t, Monoid m) => t m -> m |
2024-01-25 05:44:50 +0100 | <EvanR> | > fold (Just "ok") |
2024-01-25 05:44:51 +0100 | <lambdabot> | "ok" |
2024-01-25 05:44:54 +0100 | <EvanR> | > fold Nothing |
2024-01-25 05:44:55 +0100 | <lambdabot> | () |
2024-01-25 05:45:07 +0100 | <EvanR> | > fold Nothing :: Maybe String |
2024-01-25 05:45:09 +0100 | <lambdabot> | Nothing |
2024-01-25 05:45:11 +0100 | <probie> | jackdk: I'd almost agree with Axman6 I think I've mentioned before that I think `Foldable` should be called `ListLike`. However, I'd still call `foldr` the fundamental operation |
2024-01-25 05:45:17 +0100 | <probie> | > fold (Nothing :: Maybe String) |
2024-01-25 05:45:19 +0100 | <lambdabot> | "" |
2024-01-25 05:45:56 +0100 | <EvanR> | sanity restored |
2024-01-25 05:47:32 +0100 | <EvanR> | if you think of data values as being a possibly infinite-in-some-direction tree, then the various foldl, foldr, and monoid based order independent folds may work when toList may not |
2024-01-25 05:47:55 +0100 | <probie> | Why wouldn't `toList` work on an infinite structure? |
2024-01-25 05:47:57 +0100 | <EvanR> | because list is a special case of those trees |
2024-01-25 05:48:54 +0100 | pointlessslippe1 | (~pointless@212.82.82.3) |
2024-01-25 05:49:11 +0100 | <EvanR> | toList can work on an infinite structure but not in the right order for those folds to work right, in general |
2024-01-25 05:50:48 +0100 | <probie> | Isn't `toList` either going to be `foldr (:) []` or something specialised for the data structure (in which case I'd be surprised if it wasn't at least as productive as `foldr`) |
2024-01-25 05:51:03 +0100 | <EvanR> | if the idea is that "you can make do with only toList if you wanted to fold" |
2024-01-25 05:52:17 +0100 | <EvanR> | if toList is the fundamental operation, you can't define it as foldr (:) [], then foldr is fundamental (and won't work on left-infinite tree, for the same reason foldl won't work on right infinite tree) |
2024-01-25 05:54:28 +0100 | <probie> | I think I'm missing something here. Given an arbitrary tree that has values at nodes, I can _always_ write a productive `toList` function without knowing what parts of it may or may not be infinite |
2024-01-25 05:54:47 +0100 | <EvanR> | and then implement the rest of Foldable with it? |
2024-01-25 05:54:54 +0100 | <EvanR> | with the list |
2024-01-25 05:56:05 +0100 | <hololeap> | (foldMap . toList) checks out |
2024-01-25 05:56:49 +0100 | <EvanR> | it seems redundant to require foldMap and toList be fundamental |
2024-01-25 05:56:51 +0100 | <hololeap> | well... more or less anyway |
2024-01-25 05:57:17 +0100 | <EvanR> | you could implement toList (if you don't care about order) with foldMap |
2024-01-25 05:57:31 +0100 | <[Leary]> | probie: You /can/ in principle, but that's a different instance than the one you usually want, which ascribes a different order to the elements and produces different folded summaries (monoids not being commutative in general). |
2024-01-25 05:58:34 +0100 | <hololeap> | foldr and foldMap are the fundamental Foldable methods. toList can be defined by foldr or foldMap |
2024-01-25 05:59:11 +0100 | <EvanR> | I argue that foldr, foldl, and fold are on equal footing and can't always be defined in terms of each other |
2024-01-25 05:59:33 +0100 | <EvanR> | foldr is pretty fundamental for list only |
2024-01-25 05:59:55 +0100 | <EvanR> | having a class for this is good because there are other data structures |
2024-01-25 06:00:13 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-25 06:00:40 +0100 | <probie> | _but_ `toList` can be used to define `foldr`. If `foldr` was definable, surely you can manually write whatever `foldr (:) []` would have been as your `toList` definition, at which point you can recover `foldr` with `foldr f z t = List.foldr f z (toList t)` |
2024-01-25 06:00:56 +0100 | <hololeap> | I would like to see a data structure where it has a Foldable and doesn't have a valid toList |
2024-01-25 06:01:23 +0100 | <EvanR> | you can by fiat say that whatever foldr using toList does is correct. How about foldl |
2024-01-25 06:01:51 +0100 | <EvanR> | no one was arguing that you can't define toList somehow |
2024-01-25 06:03:07 +0100 | <hololeap> | foldl implies a non-infinite type. if you test foldl on an infinite stream you just ... wait |
2024-01-25 06:03:24 +0100 | <monochrom> | data SnocList a = Nil | Snoc (SnocList a) a. SnocList is like [] but friendly to being infinite on the left. If you can an infinite SnocList, toList will have some trouble. |
2024-01-25 06:03:37 +0100 | <EvanR> | no, it just sounds like you're affirming the idea that Foldable to really a ToList class |
2024-01-25 06:03:48 +0100 | <probie> | monochrom: will it? just have `foldr` go from right to left |
2024-01-25 06:03:57 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2024-01-25 06:04:09 +0100 | <hololeap> | EvanR: I just haven't seen a counter-example |
2024-01-25 06:04:25 +0100 | <EvanR> | I can only continue to point out that it's called Foldable, and folding over different structures is not always compatible with list |
2024-01-25 06:04:49 +0100 | <probie> | It's not a useful interface if you can a priori know which is going to be the productive function. If the "direction" matters, then surely at this point you know the concrete type |
2024-01-25 06:05:06 +0100 | <probie> | s/can/can't/ |
2024-01-25 06:05:06 +0100 | <EvanR> | you can argue that foldl and foldr are pointless parts of the interface I guess |
2024-01-25 06:05:31 +0100 | <EvanR> | and pretend this is a ToList class |
2024-01-25 06:05:58 +0100 | <monochrom> | What is even the answer to `head (toList (an infinite SnocList))` ? |
2024-01-25 06:06:16 +0100 | <hololeap> | bottom? |
2024-01-25 06:06:23 +0100 | <EvanR> | right |
2024-01-25 06:06:31 +0100 | <EvanR> | but you can foldl the infinite snoc list |
2024-01-25 06:06:51 +0100 | <hololeap> | do you mean foldl' |
2024-01-25 06:06:54 +0100 | <EvanR> | no |
2024-01-25 06:07:03 +0100 | <EvanR> | you're still stuck on regular list being god |
2024-01-25 06:07:12 +0100 | <monochrom> | Whereas if you accept fold or foldMap as fundamental, then every instance can tailor-make fold/foldMap's bias to suit the instance. |
2024-01-25 06:07:14 +0100 | <EvanR> | generally your data looks like a tree |
2024-01-25 06:07:31 +0100 | <EvanR> | Foldable is alluding to tree reductions, not list reductions |
2024-01-25 06:07:56 +0100 | <[Leary]> | A Foldable instance encodes an order structure that can involve arbitrary nested successive left and right infinite sequences. List just isn't anywhere near rich enough. |
2024-01-25 06:08:22 +0100 | <hololeap> | how is that different? a tree with no secondary nodes is a list |
2024-01-25 06:08:34 +0100 | <probie> | EvanR: Is it? Then why does it have `foldr` and `foldl`. Those are unambiguously list reductions |
2024-01-25 06:08:42 +0100 | <hololeap> | you can always collapse a tree to a list |
2024-01-25 06:08:48 +0100 | <EvanR> | "a tree is a list" is getting absurd |
2024-01-25 06:09:01 +0100 | <EvanR> | probie, no |
2024-01-25 06:09:08 +0100 | <hololeap> | it's not isomorphic |
2024-01-25 06:09:20 +0100 | <hololeap> | but you can always turn a tree into a list |
2024-01-25 06:09:25 +0100 | trev | (~trev@user/trev) |
2024-01-25 06:10:14 +0100 | <probie> | EvanR: What would you call `forall b . (a -> b -> b) -> b -> b`? |
2024-01-25 06:10:45 +0100 | <hololeap> | :t Cont |
2024-01-25 06:10:46 +0100 | <lambdabot> | error: |
2024-01-25 06:10:46 +0100 | <lambdabot> | • Data constructor not in scope: Cont |
2024-01-25 06:10:46 +0100 | <lambdabot> | • Perhaps you meant one of these: |
2024-01-25 06:10:48 +0100 | <EvanR> | look up left reductions, right reductions, other reductions, and monoid-based reductions of a tree |
2024-01-25 06:11:09 +0100 | <EvanR> | I submit that foldl and foldr allude to that |
2024-01-25 06:11:29 +0100 | <monochrom> | `forall b . (a -> b -> b) -> b -> b` is ConsList a. |
2024-01-25 06:12:19 +0100 | <probie> | `fold` or `foldMap` might do a nice tree reduction, but `foldr` and `foldl` necessarily linearize your structure |
2024-01-25 06:12:37 +0100 | mxs | (~mxs@user/mxs) (Quit: The Lounge - https://thelounge.chat) |
2024-01-25 06:12:45 +0100 | <EvanR> | I think by linearize, you mean order |
2024-01-25 06:13:07 +0100 | <hololeap> | foldl and foldr also give a direction |
2024-01-25 06:13:09 +0100 | <probie> | Turn into a line, that you must walk down |
2024-01-25 06:14:04 +0100 | <EvanR> | there are many ways to make a list of nodes of a tree, and then there are many ways to reduce a list, even an infinite one |
2024-01-25 06:14:18 +0100 | <monochrom> | I need to have a stronger opinion and conviction and stubbornnes than all of you. |
2024-01-25 06:14:22 +0100 | <EvanR> | because of that you might not even care about the intermediate list |
2024-01-25 06:14:31 +0100 | <monochrom> | foldMap is map-reduce, that is why it is more fundamental. |
2024-01-25 06:15:10 +0100 | <monochrom> | You simply don't hear Google map-reduce people say "this is toList technology!". |
2024-01-25 06:15:57 +0100 | <monochrom> | In fact toList is how you ruin map-reduce performance. |
2024-01-25 06:15:58 +0100 | <EvanR> | that the reduce has to happen in serial might be another red herring |
2024-01-25 06:16:16 +0100 | <EvanR> | specifically if it's a monoid reduction |
2024-01-25 06:16:24 +0100 | <probie> | monochrom: to be honest, my stake in this is that I want to reclaim the name `Foldable` for catamorphisms |
2024-01-25 06:16:53 +0100 | <monochrom> | You can use Catamorphism right now right here. |
2024-01-25 06:17:11 +0100 | <EvanR> | also ToList to be a class containing only toList |
2024-01-25 06:17:18 +0100 | <EvanR> | if that's all you need |
2024-01-25 06:17:28 +0100 | <hololeap> | EvanR: what is something that has a terminating foldl but has a non-terminating foldr? |
2024-01-25 06:17:28 +0100 | <monochrom> | And it is much less ambiguous and vague than those "Foldable" "Mappable" "Bindable" shite. |
2024-01-25 06:17:42 +0100 | <EvanR> | hololeap, a trivial example was given above by monochrom |
2024-01-25 06:18:35 +0100 | <EvanR> | how you argue your way out of that I can't predict, but I know it's coming xD |
2024-01-25 06:19:13 +0100 | <hololeap> | I'm just going to say that data types aren't usually constructed like that |
2024-01-25 06:19:27 +0100 | <monochrom> | Hutton has a paper on exactly a type class for F-algebras and catamorphisms. The type class is called Algebra. |
2024-01-25 06:19:37 +0100 | <probie> | The Foldable class represents data structures that can be reduced to a summary value one element at a time. Strict left-associative folds are a good fit for space-efficient reduction, while lazy right-associative folds are a good fit for corecursive iteration, or for folds that short-circuit after processing an initial subsequence of the structure's elements. |
2024-01-25 06:19:50 +0100 | <probie> | (that the docs for `Foldable`) |
2024-01-25 06:20:34 +0100 | <monochrom> | It is not good doc and no one bothers to fix it. |
2024-01-25 06:20:39 +0100 | <EvanR> | for a while I think people were confused on why Foldable should even exist, because there was a feeling that it was "just a glorified toList" and no one could even identify laws |
2024-01-25 06:21:01 +0100 | <monochrom> | Its comment on strict left has ConsList in mind. Obviously. |
2024-01-25 06:21:02 +0100 | <EvanR> | but that was a while back |
2024-01-25 06:21:04 +0100 | <probie> | I can actually get a decent fold over a tree with `foldMap Sum`, but it doesn't seem to be the intent |
2024-01-25 06:21:17 +0100 | <EvanR> | addition is commutative |
2024-01-25 06:21:23 +0100 | <EvanR> | so that's not surprising |
2024-01-25 06:21:28 +0100 | <monochrom> | Talk to me again after you optimize summing a finger tree. |
2024-01-25 06:21:55 +0100 | <monochrom> | In fact, talk to me again after you optimize summing a finger tree on parallel hardware. |
2024-01-25 06:25:03 +0100 | <hololeap> | monochrom: which direction? |
2024-01-25 06:25:19 +0100 | <hololeap> | lol |
2024-01-25 06:25:38 +0100 | <monochrom> | If you have a nonlinear data structure, you can cite Monoid associativity and choose a strategy for fold/foldMap that best fits the data structure and/or most actual use cases. foldl vs foldr is a false dichotomoy. There is always a third, better choice. |
2024-01-25 06:26:32 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-01-25 06:26:41 +0100 | <monochrom> | I don't understand how it even needs explanation. It's self-evident. |
2024-01-25 06:27:34 +0100 | <EvanR> | if your tree leans heavily to the left, and you want to strictly reduce, there's even foldr' in this class admitting that this might be a situation |
2024-01-25 06:27:53 +0100 | <EvanR> | strictly right reduce |
2024-01-25 06:28:16 +0100 | <EvanR> | an operation which makes no sense for list |
2024-01-25 06:28:24 +0100 | <probie> | Finally, in some less common structures (e.g. snoc lists) right to left iterations are cheaper than left to right. Such structures are poor candidates for a Foldable instance, and are perhaps best handled via their type-specific interfaces. |
2024-01-25 06:28:26 +0100 | <probie> | If nevertheless a Foldable instance is provided, the material in the sections that follow applies to these also, by replacing each method with one with the opposite associativity (when available) and switching the order of arguments in the fold's operator. |
2024-01-25 06:28:52 +0100 | <hololeap> | monochrom: Monoids are not commutative, so the direction is relevant |
2024-01-25 06:29:16 +0100 | <EvanR> | parallel sum is supported because of the associativity |
2024-01-25 06:29:22 +0100 | <monochrom> | I'll take that as a joke and not give a serious rebuttal. |
2024-01-25 06:29:32 +0100 | <EvanR> | so it doesn't even need to be a commutative operation here |
2024-01-25 06:30:07 +0100 | <monochrom> | But perhaps consider how "order" may refer to one of two orthogonal things and therefore "order is important" is ambiguous. |
2024-01-25 06:30:36 +0100 | <probie> | ugh; why couldn't the docs just tell people to make `foldr` go right to left over snoc lists |
2024-01-25 06:30:50 +0100 | <monochrom> | This is why I don't even use that word. I say "associative" if I mean it. I say "commutative" if I mean it. I don't know which one "order" refers to. |
2024-01-25 06:30:55 +0100 | <EvanR> | not every Foldable is a one dimensional thing |
2024-01-25 06:31:22 +0100 | <EvanR> | I tried to be diplomatic by saying "in general it's a tree" |
2024-01-25 06:31:33 +0100 | <EvanR> | but that might not even be the most general |
2024-01-25 06:31:53 +0100 | <hololeap> | (-) is a monoid, but it's not commutative |
2024-01-25 06:32:18 +0100 | <monochrom> | > (4-5)-6 == 4-(5-6) |
2024-01-25 06:32:20 +0100 | <lambdabot> | False |
2024-01-25 06:32:23 +0100 | <EvanR> | yeah no |
2024-01-25 06:32:28 +0100 | <monochrom> | Are you on drugs?! |
2024-01-25 06:32:41 +0100 | <hololeap> | yes, but I think I meant associative |
2024-01-25 06:33:02 +0100 | <monochrom> | Like I had wine during dinner but I haven't lost my knowledge of associativity. |
2024-01-25 06:33:03 +0100 | <probie> | A monoid is associative |
2024-01-25 06:33:07 +0100 | myme1 | (~myme@2a01:799:d5e:2e00:abf6:2f60:4488:2041) (Ping timeout: 246 seconds) |
2024-01-25 06:33:17 +0100 | <EvanR> | dissociative monoid syndrome |
2024-01-25 06:33:57 +0100 | <monochrom> | Associativity is exact what I tested. (x `op` y) `op` z = x `op` (y `op` z) |
2024-01-25 06:34:03 +0100 | <hololeap> | wtf am I looking at then |
2024-01-25 06:34:18 +0100 | <hololeap> | commutative /kŏm′yə-tā″tĭv, kə-myoo͞′tə-tĭv/ |
2024-01-25 06:34:18 +0100 | <hololeap> | adjective |
2024-01-25 06:34:18 +0100 | <hololeap> | Relating to, involving, or characterized by substitution, interchange, or exchange. Independent of order. Used of a logical or mathematical operation that combines objects or sets of objects two at a time. If a × b = b × a, the operation indicated by × is commutative. |
2024-01-25 06:34:24 +0100 | myme | (~myme@2a01:799:d5e:2e00:5a9e:1be4:ba7e:eb44) |
2024-01-25 06:34:40 +0100 | <monochrom> | That one is commutativity. |
2024-01-25 06:35:31 +0100 | <hololeap> | <hololeap> (-) is a monoid, but it's not commutative |
2024-01-25 06:35:32 +0100 | <monochrom> | [A] is a monoid because (xs++ys)++zs = xs++(ys++zs). Also, no one claims or needs commutativity for the [A] monoid. |
2024-01-25 06:35:43 +0100 | <EvanR> | a x b = b x a, "order doesn't matter". a x (b x c) = (a x b) x c, "order doesn't matter". Cool this phrase sucks |
2024-01-25 06:35:54 +0100 | <monochrom> | Yeah that's what I said. |
2024-01-25 06:35:57 +0100 | <probie> | `-` is both associative and commutative in `Z mod 1` :p |
2024-01-25 06:36:12 +0100 | <monochrom> | I guess also mod 2. |
2024-01-25 06:36:13 +0100 | <probie> | s/mod 1/mod 2/ |
2024-01-25 06:36:32 +0100 | <monochrom> | Well mod 1 also works >:) |
2024-01-25 06:36:58 +0100 | <probie> | Every binary operation is associative and commutative in `Z mod 1` |
2024-01-25 06:37:39 +0100 | <monochrom> | You know the joke about a PhD thesis about a new kind of rings that got busted? :) |
2024-01-25 06:38:15 +0100 | <monochrom> | A math PhD student thought up a new kind of rings, i.e., adding some new axioms to the ring axioms. |
2024-01-25 06:38:29 +0100 | <monochrom> | He proved that this kind of rings all have super-nice properties. |
2024-01-25 06:38:40 +0100 | <probie> | and it turned out it only had one element? |
2024-01-25 06:38:58 +0100 | <monochrom> | At the oral exam, an examiner asks, "can you give an example of this kind of rings?". He said no, he hadn't tried. |
2024-01-25 06:39:25 +0100 | <monochrom> | Yeah, the examiner than went to the blackboard and proved that they can only be {0}. |
2024-01-25 06:39:35 +0100 | <jackdk> | I've heard a variant of this story where the only example of the "new structure with nice properties" was the unit circle |
2024-01-25 06:40:23 +0100 | <EvanR> | that's supposed to be a joke? Sounds like a totally valid paper xd |
2024-01-25 06:40:47 +0100 | <EvanR> | if the punchline were included at the end |
2024-01-25 06:41:03 +0100 | <monochrom> | Naw, in a PhD program, the supervisor would have caught this much earlier on and not let it get to the point of the oral exam. |
2024-01-25 06:41:21 +0100 | <monochrom> | Then again maybe you can point out that some supervisors are dysfunctional... |
2024-01-25 06:41:23 +0100 | <EvanR> | on what grounds xD |
2024-01-25 06:42:09 +0100 | <monochrom> | Well it's the job of the supervisor to ask "do you have an example?" and it's a pretty simple job. |
2024-01-25 06:42:36 +0100 | <EvanR> | I mean if the answer is sure, the singleton ring |
2024-01-25 06:42:58 +0100 | <monochrom> | Well a supervisor also has harder jobs, but sanity checks like "do you have an example?" is easy and automatic. |
2024-01-25 06:43:01 +0100 | <EvanR> | ok, so we have gone on in here at length about types which are both Functor and Contravariant |
2024-01-25 06:43:44 +0100 | <EvanR> | but admittedly at some point someone says "they're not very interesting" |
2024-01-25 06:44:25 +0100 | <EvanR> | or Comonoids are not very interesting. I guess none of this rises to the level of phd paper xD |
2024-01-25 06:44:37 +0100 | <monochrom> | :) |
2024-01-25 06:50:57 +0100 | <monochrom> | BTW, that is why () is a Monoid instance. >:) |
2024-01-25 06:56:28 +0100 | benjaminl | (~benjaminl@user/benjaminl) (Remote host closed the connection) |
2024-01-25 06:57:48 +0100 | benjaminl | (~benjaminl@user/benjaminl) |
2024-01-25 06:59:57 +0100 | <EvanR> | because in haskell people learned to put the gut reasoning "no one is ever going to need this instance" through a NOT gate |
2024-01-25 07:00:57 +0100 | <c_wraith> | Eh. there are still plenty of people upset by ((,) a) having a Foldable instance |
2024-01-25 07:01:29 +0100 | <EvanR> | that's the NOT gate in action! |
2024-01-25 07:01:42 +0100 | <c_wraith> | > length (3,4) -- this upsets so many people |
2024-01-25 07:01:44 +0100 | <lambdabot> | 1 |
2024-01-25 07:02:16 +0100 | <tri_> | c_wraith: why length (3,4,5) not working? |
2024-01-25 07:02:22 +0100 | <tri_> | > length (3,4,5) |
2024-01-25 07:02:24 +0100 | <lambdabot> | error: |
2024-01-25 07:02:24 +0100 | <lambdabot> | • No instance for (Foldable ((,,) Integer Integer)) |
2024-01-25 07:02:24 +0100 | <lambdabot> | arising from a use of ‘length’ |
2024-01-25 07:02:33 +0100 | <EvanR> | treating tuples as a list upsets me |
2024-01-25 07:02:36 +0100 | <c_wraith> | apparently *that* instance doesn't exist! |
2024-01-25 07:02:47 +0100 | <EvanR> | as is done in the typed-elixir paper |
2024-01-25 07:02:51 +0100 | <monochrom> | We need to fix that! |
2024-01-25 07:02:58 +0100 | <c_wraith> | ... If we're going to make tuples foldable, make them foldable up to 63! |
2024-01-25 07:03:08 +0100 | <EvanR> | > length (3,(4,5)) |
2024-01-25 07:03:09 +0100 | <lambdabot> | 1 |
2024-01-25 07:03:41 +0100 | <tri_> | c_wraith: oh i see! I forgot that we can't have infinite items in a tuple, only 7 or 8. And each is a separate type |
2024-01-25 07:04:29 +0100 | <EvanR> | not without infinite types |
2024-01-25 07:04:32 +0100 | <c_wraith> | I believe GHC supports up to 63 elements in a tuple. But most classes that have tuple instances don't go all the way up that high |
2024-01-25 07:07:13 +0100 | <c_wraith> | heck. There don't even appear to be Show instances above 15 elements |
2024-01-25 07:07:42 +0100 | <monochrom> | Control.Applicative stops at liftA3. |
2024-01-25 07:09:25 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 264 seconds) |
2024-01-25 07:09:42 +0100 | aforemny_ | (~aforemny@2001:9e8:6cf9:7200:33bd:fab4:6c7b:ec3c) |
2024-01-25 07:09:44 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-01-25 07:10:44 +0100 | zetef | (~quassel@95.77.17.251) |
2024-01-25 07:11:13 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 07:11:13 +0100 | aforemny | (~aforemny@2001:9e8:6cf6:d000:dd64:8ab1:7668:b8d6) (Ping timeout: 264 seconds) |
2024-01-25 07:17:29 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-01-25 07:17:42 +0100 | zetef | (~quassel@95.77.17.251) (Remote host closed the connection) |
2024-01-25 07:18:00 +0100 | aforemny | (~aforemny@2001:9e8:6cf9:7c00:859e:282d:f5c:ea1a) |
2024-01-25 07:18:22 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
2024-01-25 07:18:42 +0100 | euleritian | (~euleritia@dynamic-176-001-246-220.176.1.pool.telefonica.de) |
2024-01-25 07:19:01 +0100 | aforemny_ | (~aforemny@2001:9e8:6cf9:7200:33bd:fab4:6c7b:ec3c) (Ping timeout: 264 seconds) |
2024-01-25 07:27:19 +0100 | aforemny | (~aforemny@2001:9e8:6cf9:7c00:859e:282d:f5c:ea1a) (Ping timeout: 256 seconds) |
2024-01-25 07:30:35 +0100 | hackyhacker | (~user@212.71.9.113) |
2024-01-25 07:30:41 +0100 | aforemny | (~aforemny@2001:9e8:6cf9:8500:981b:1c32:9029:341) |
2024-01-25 07:35:05 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
2024-01-25 07:35:17 +0100 | aforemny | (~aforemny@2001:9e8:6cf9:8500:981b:1c32:9029:341) (Ping timeout: 260 seconds) |
2024-01-25 07:35:33 +0100 | <hackyhacker> | Hello is anyone here going to Fosdem next week? It's an open source conference in Brussels Belgium. Last year they had a Haskell dev room. |
2024-01-25 07:38:59 +0100 | tri_ | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-01-25 07:41:55 +0100 | michalz | (~michalz@185.246.207.222) |
2024-01-25 07:45:08 +0100 | aforemny | (~aforemny@2001:9e8:6cf9:9a00:4bfc:c9f0:6a8:dc47) |
2024-01-25 07:45:35 +0100 | igemnace | (~ian@user/igemnace) |
2024-01-25 07:49:08 +0100 | yeahitsme | (~bob@user/yeahitsme) |
2024-01-25 07:49:19 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
2024-01-25 07:51:32 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-01-25 07:54:43 +0100 | michalz | (~michalz@185.246.207.222) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-01-25 07:57:40 +0100 | michalz | (~michalz@185.246.207.197) |
2024-01-25 07:59:11 +0100 | qqq | (~qqq@92.43.167.61) |
2024-01-25 08:01:07 +0100 | mikoto-chan | (~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be) |
2024-01-25 08:04:54 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2024-01-25 08:08:39 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-01-25 08:09:12 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-01-25 08:15:20 +0100 | Kuttenbrunzer | (~Kuttenbru@2a02:8108:8b80:1d48::cc15) |
2024-01-25 08:19:10 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
2024-01-25 08:20:10 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection) |
2024-01-25 08:20:37 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2024-01-25 08:22:37 +0100 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 268 seconds) |
2024-01-25 08:24:56 +0100 | <haskellbridge> | 15<Jade> Using tuples bigger than `Tuple4` is an antpattern anyways ^^ |
2024-01-25 08:25:13 +0100 | <haskellbridge> | 15<Jade> s/ant/anti |
2024-01-25 08:26:05 +0100 | <dminuoso_> | Not quite sure why it would be an antipattern. |
2024-01-25 08:26:41 +0100 | <dminuoso_> | Conjuring up a data type for a one time usage might be overkill, and sometimes its more convenient to pass something as a single argument. |
2024-01-25 08:28:04 +0100 | <dminuoso_> | Id say they are a code smell, but not an outright antipattern. |
2024-01-25 08:30:03 +0100 | krei-se | (~krei-se@p508747fd.dip0.t-ipconnect.de) |
2024-01-25 08:30:05 +0100 | Kuttenbrunzer | (~Kuttenbru@2a02:8108:8b80:1d48::cc15) (Quit: Where is it) |
2024-01-25 08:44:05 +0100 | <haskellbridge> | 15<Jade> okay, yeah, that's fair |
2024-01-25 08:49:21 +0100 | CiaoSen | (~Jura@2a05:5800:289:df00:ca4b:d6ff:fec1:99da) |
2024-01-25 08:50:33 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-01-25 08:50:55 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-01-25 08:54:53 +0100 | euleritian | (~euleritia@dynamic-176-001-246-220.176.1.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-25 08:55:11 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 08:55:28 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) |
2024-01-25 09:00:01 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Quit: The Lounge - https://thelounge.chat) |
2024-01-25 09:01:17 +0100 | kimiamania464 | (~65804703@user/kimiamania) (Quit: PegeLinux) |
2024-01-25 09:01:59 +0100 | kimiamania4648 | (~65804703@user/kimiamania) |
2024-01-25 09:02:31 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:03:06 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:07:01 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2024-01-25 09:07:27 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:07:32 +0100 | benjaminl | (~benjaminl@user/benjaminl) (Remote host closed the connection) |
2024-01-25 09:08:07 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:08:12 +0100 | euleritian | (~euleritia@dynamic-176-001-246-220.176.1.pool.telefonica.de) |
2024-01-25 09:08:20 +0100 | benjaminl | (~benjaminl@user/benjaminl) |
2024-01-25 09:09:25 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:10:02 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:12:33 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:13:06 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:13:49 +0100 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2024-01-25 09:15:37 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:16:01 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:17:32 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:18:07 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:19:34 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:20:06 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:21:32 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:22:06 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:22:33 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:23:02 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:23:32 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 09:24:07 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Client Quit) |
2024-01-25 09:27:33 +0100 | mobivme | (~mobivme@112.201.111.217) |
2024-01-25 09:28:17 +0100 | mima | (~mmh@aftr-62-216-211-75.dynamic.mnet-online.de) |
2024-01-25 09:29:23 +0100 | ph88 | (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2024-01-25 09:34:55 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2024-01-25 09:45:50 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-01-25 09:46:26 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
2024-01-25 09:47:04 +0100 | mmhat | (~mmh@p200300f1c73bf455ee086bfffe095315.dip0.t-ipconnect.de) |
2024-01-25 09:47:40 +0100 | mmhat | (~mmh@p200300f1c73bf455ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2024-01-25 09:57:29 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2024-01-25 10:01:20 +0100 | Ashkan | (~Ashkan@147.161.173.72) |
2024-01-25 10:06:22 +0100 | danse-nr3 | (~danse@151.47.4.131) |
2024-01-25 10:12:13 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-01-25 10:12:58 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d9f4:da25:bff2:5432) (Remote host closed the connection) |
2024-01-25 10:13:26 +0100 | __monty__ | (~toonn@user/toonn) |
2024-01-25 10:14:04 +0100 | euleritian | (~euleritia@dynamic-176-001-246-220.176.1.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-25 10:14:23 +0100 | euleritian | (~euleritia@77.22.252.56) |
2024-01-25 10:17:21 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-01-25 10:19:42 +0100 | nschoe | (nschoe@gateway/vpn/protonvpn/nschoe) |
2024-01-25 10:24:54 +0100 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-01-25 10:26:02 +0100 | euleritian | (~euleritia@77.22.252.56) |
2024-01-25 10:45:08 +0100 | mikoto-chan | (~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be) (Ping timeout: 256 seconds) |
2024-01-25 10:45:33 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-01-25 10:46:45 +0100 | rosco | (~rosco@175.136.156.77) |
2024-01-25 10:47:28 +0100 | ft | (~ft@p508dbda4.dip0.t-ipconnect.de) (Quit: leaving) |
2024-01-25 10:47:32 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d9f4:da25:bff2:5432) |
2024-01-25 10:50:02 +0100 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-01-25 10:50:34 +0100 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-01-25 10:55:24 +0100 | <jackdk> | even Elm gives you six-wide tuples |
2024-01-25 10:57:20 +0100 | <sshine> | god gave us five fingers, six-tuples are an abomination! |
2024-01-25 10:57:32 +0100 | <jackdk> | nah it's fine, you start counting from zero, right? |
2024-01-25 10:57:44 +0100 | <sshine> | I always forget my 0th finger. |
2024-01-25 10:59:11 +0100 | <sshine> | it's in the cloud, so that's why. |
2024-01-25 10:59:41 +0100 | <int-e> | count between the fingers... and before and after |
2024-01-25 11:03:26 +0100 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-01-25 11:04:02 +0100 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 252 seconds) |
2024-01-25 11:04:59 +0100 | euleritian | (~euleritia@dynamic-176-001-246-220.176.1.pool.telefonica.de) |
2024-01-25 11:10:38 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds) |
2024-01-25 11:11:26 +0100 | euleritian | (~euleritia@dynamic-176-001-246-220.176.1.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-25 11:11:44 +0100 | euleritian | (~euleritia@77.22.252.56) |
2024-01-25 11:12:30 +0100 | mesaoptimizer | (~mesaoptim@user/PapuaHardyNet) |
2024-01-25 11:17:00 +0100 | cfricke | (~cfricke@user/cfricke) |
2024-01-25 11:17:00 +0100 | johnw_ | (~johnw@69.62.242.138) |
2024-01-25 11:19:05 +0100 | johnw | (~johnw@69.62.242.138) (Ping timeout: 256 seconds) |
2024-01-25 11:22:13 +0100 | <__monty__> | You can't count to 12 on the fingers of a single hand? |
2024-01-25 11:24:09 +0100 | <c_wraith> | I can, but it has some problems with quick recognition and tracking. |
2024-01-25 11:24:48 +0100 | <darkling> | monochrom: That PhD joke sounds a bit like my thesis viva. I'd put in a conjecture, but hadn't been able to prove it by the time I submitted. |
2024-01-25 11:25:27 +0100 | <darkling> | Fast forward six months to the viva, and the internal examiner said "Aah, yes, section 5.3. I've got a counter-example." He pulled out a piece of paper. |
2024-01-25 11:25:40 +0100 | <darkling> | I said, "So have I", and pulled out my piece of paper. :) |
2024-01-25 11:25:57 +0100 | <darkling> | His was smaller, dammit. |
2024-01-25 11:25:58 +0100 | <__monty__> | c_wraith: Just live and breathe the duodecimal system : ) |
2024-01-25 11:26:14 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds) |
2024-01-25 11:27:11 +0100 | <__monty__> | darkling: Morale of the story, don't get into counter-example measuring contests. |
2024-01-25 11:28:04 +0100 | zetef | (~quassel@95.77.17.251) |
2024-01-25 11:28:05 +0100 | <darkling> | I was just pleased that I'd found one the week before. |
2024-01-25 11:29:12 +0100 | <c_wraith> | heck, if I'm willing to deal with awkward tracking and recognition, I can count to 1023 with both hands. |
2024-01-25 11:32:17 +0100 | <__monty__> | Please tell me how. (Maybe in -offtopic.) |
2024-01-25 11:32:41 +0100 | <c_wraith> | oh, it's just binary. 10 fingers, 2^10-1 |
2024-01-25 11:35:26 +0100 | <danse-nr3> | haha that's fun to practice |
2024-01-25 11:35:34 +0100 | <darkling> | Some numbers are harder to represent than others, because some fingers want to bend together. |
2024-01-25 11:36:09 +0100 | <danse-nr3> | well you practice binary counting then you can become a piano player |
2024-01-25 11:36:46 +0100 | <int-e> | or make the step to ternary |
2024-01-25 11:37:53 +0100 | yae | (~yae@102.190.180.98) |
2024-01-25 11:39:05 +0100 | pavonia | (~user@user/siracusa) |
2024-01-25 11:39:32 +0100 | <ncf> | yes, odd time signatures are important |
2024-01-25 11:41:13 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 264 seconds) |
2024-01-25 11:44:02 +0100 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 260 seconds) |
2024-01-25 11:46:10 +0100 | danse-nr3 | (~danse@151.47.4.131) (Read error: Connection reset by peer) |
2024-01-25 11:46:18 +0100 | danse-nr3 | (~danse@rm-19-47-252.service.infuturo.it) |
2024-01-25 11:48:52 +0100 | mreh | (~mreh@2a00:23c7:2803:ef01:4860:7737:fc69:542b) |
2024-01-25 11:49:20 +0100 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-01-25 11:50:49 +0100 | Ashkan | (~Ashkan@147.161.173.72) (Quit: Client closed) |
2024-01-25 11:50:59 +0100 | Silver_X | (~Silver_X@182.178.242.82) |
2024-01-25 11:54:35 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-01-25 11:56:36 +0100 | <danse-nr3> | do time signatures have to do with fingers bending together? I thought having independent fingers would be needed for general playing |
2024-01-25 11:57:37 +0100 | <probie> | but are fingers `Foldable`? |
2024-01-25 11:57:51 +0100 | xff0x | (~xff0x@ai085147.d.east.v6connect.net) |
2024-01-25 11:58:06 +0100 | <danse-nr3> | just injectively |
2024-01-25 12:01:13 +0100 | zetef | (~quassel@95.77.17.251) (Remote host closed the connection) |
2024-01-25 12:06:30 +0100 | agander_m | (sid407952@id-407952.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-01-25 12:07:37 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-01-25 12:08:23 +0100 | Silver_X | (~Silver_X@182.178.242.82) (Quit: Leaving) |
2024-01-25 12:09:51 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:e51c:5224:763d:eb0f) |
2024-01-25 12:11:28 +0100 | Maxdamantus | has used binary counting as his primary way of finger counting for years. |
2024-01-25 12:11:32 +0100 | <Maxdamantus> | https://drive.google.com/file/d/15eyfRPhuUU-z3cPU64IK-ybP54SZrgxa/view |
2024-01-25 12:13:01 +0100 | <danse-nr3> | haha, thumb being the smaller slot seems important... |
2024-01-25 12:14:49 +0100 | CiaoSen | (~Jura@2a05:5800:289:df00:ca4b:d6ff:fec1:99da) (Ping timeout: 264 seconds) |
2024-01-25 12:15:26 +0100 | zetef | (~quassel@95.77.17.251) |
2024-01-25 12:16:24 +0100 | <Maxdamantus> | I started doing it in school (about 16 years ago), don't think I tried doing it the other way. The thumb movements in that video get a bit imprecise at around 23, but I suspect it would be harder using the pinky as 1. |
2024-01-25 12:16:53 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds) |
2024-01-25 12:18:45 +0100 | <mreh> | is anyone familiar with Reflex outside of reflex-dom? |
2024-01-25 12:22:48 +0100 | <danse-nr3> | nope. I can only help by mentioning that for non-web applications there is also monomer, as when i tried to use reflex i did not find it super convenient |
2024-01-25 12:22:53 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 240 seconds) |
2024-01-25 12:24:27 +0100 | nschoe | (nschoe@gateway/vpn/protonvpn/nschoe) (Ping timeout: 260 seconds) |
2024-01-25 12:28:55 +0100 | qqq | (~qqq@92.43.167.61) |
2024-01-25 12:36:04 +0100 | nschoe | (nschoe@gateway/vpn/protonvpn/nschoe) |
2024-01-25 12:36:47 +0100 | <jackdk> | mreh: I've played with it a bit: https://git.sr.ht/~jack/reflex-libtelnet |
2024-01-25 12:38:57 +0100 | CiaoSen | (~Jura@2a05:5800:289:df00:ca4b:d6ff:fec1:99da) |
2024-01-25 12:39:01 +0100 | <mreh> | Cool. Looks like you've managed to avoid using the impure combinators. |
2024-01-25 12:39:21 +0100 | <danse-nr3> | hmm reflex is a reactive framework, not an app framework. Sorry i recalled the level of abstraction wrong |
2024-01-25 12:40:12 +0100 | <mreh> | reflex-dom introduces dyn and widgetHold for when you have types like Dynamic (m a) or Event (m a) |
2024-01-25 12:40:42 +0100 | <mreh> | I can't find any way of working with similar types outside of the dom though |
2024-01-25 12:42:17 +0100 | <danse-nr3> | maybe their logic is not too complex and can be rewritten for your case? |
2024-01-25 12:43:02 +0100 | <danse-nr3> | that is sometimes the cause for some abstractions not being available |
2024-01-25 12:43:38 +0100 | <mreh> | I'm trying to avoid reinventing the wheel, but I think it's just something I'm missing. |
2024-01-25 12:44:19 +0100 | zetef | (~quassel@95.77.17.251) (Remote host closed the connection) |
2024-01-25 12:44:33 +0100 | <mreh> | There's this module: https://hackage.haskell.org/package/reflex-0.9.3.0/docs/Reflex-Host-Headless.html |
2024-01-25 12:44:34 +0100 | <mreh> | - which implies you can use those combinators (through the Adjustable type class) |
2024-01-25 12:45:10 +0100 | <jackdk> | What do you mean "the impure combinators"? |
2024-01-25 12:46:31 +0100 | <mreh> | jackdk: the functions in `Reflex.Network` |
2024-01-25 12:46:43 +0100 | <mreh> | https://hackage.haskell.org/package/reflex-0.9.3.0/docs/Reflex-Network.html |
2024-01-25 12:52:09 +0100 | danse-nr3 | (~danse@rm-19-47-252.service.infuturo.it) (Ping timeout: 260 seconds) |
2024-01-25 12:52:33 +0100 | <jackdk> | mreh: I use `list`, which needs `Adjustable`: https://git.sr.ht/~jack/reflex-libtelnet/tree/master/item/reflex-libtelnet-example/src/Main.hs#L77 |
2024-01-25 12:53:51 +0100 | <mreh> | ah, so you do |
2024-01-25 12:54:51 +0100 | <jackdk> | I also traced the typeclass instances in #reflex-frp in case that helps |
2024-01-25 12:55:28 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-01-25 13:03:14 +0100 | <mreh> | thanks |
2024-01-25 13:07:19 +0100 | <jackdk> | mreh: what are you trying to do? My gut feeling is that you probably don't want to call into Reflex.Spider directly and instead use Reflex.Host.Headless, which should set everything up correctly (including Adjustable) |
2024-01-25 13:08:22 +0100 | <mreh> | I was using some example code how to setup your own event loop using runSpiderHost etc |
2024-01-25 13:10:21 +0100 | <jackdk> | Ah. Old code? runHeadlessApp has been around for a while, and qfpl's reflex-host-basic before that. But these days I'd just runHeadlessApp |
2024-01-25 13:10:46 +0100 | <lyxia> | how to convert between bytestring and bytearray? |
2024-01-25 13:15:37 +0100 | Zmzi | (~rscastilh@user/Zmzi) |
2024-01-25 13:16:09 +0100 | <mreh> | jackdk: Okay. Looks like it'll work for me. Thanks |
2024-01-25 13:16:18 +0100 | Zmzi | (~rscastilh@user/Zmzi) (Remote host closed the connection) |
2024-01-25 13:16:32 +0100 | <mreh> | lyxia: I think ByteArray is a typeclass that ByteString already implements |
2024-01-25 13:17:37 +0100 | <lyxia> | mreh: no it's not https://hackage.haskell.org/package/base-4.19.0.0/docs/Data-Array-Byte.html |
2024-01-25 13:19:14 +0100 | <lyxia> | You were thinking of the third party library memory |
2024-01-25 13:19:44 +0100 | <xerox> | lyxia: https://www.stackage.org/haddock/lts-22.7/cborg-0.2.10.0/src/Codec.CBOR.ByteArray.html#fromByteStr… |
2024-01-25 13:23:30 +0100 | <lyxia> | thanks xerox. so the solution is to go through ShortByteString, which is a wrapper around ByteArray |
2024-01-25 13:25:38 +0100 | <xerox> | at least it is one way, I guess it does make sense, since you do need to compact it into something before it can be just 1 bytearray in general |
2024-01-25 13:56:02 +0100 | AlexZenon | (~alzenon@94.233.241.143) (Ping timeout: 260 seconds) |
2024-01-25 13:57:04 +0100 | danse-nr3 | (~danse@151.47.78.152) |
2024-01-25 13:58:42 +0100 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-01-25 13:58:54 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 14:00:33 +0100 | AlexZenon | (~alzenon@94.233.241.143) |
2024-01-25 14:01:27 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2024-01-25 14:03:50 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2024-01-25 14:05:25 +0100 | AlexZenon | (~alzenon@94.233.241.143) (Ping timeout: 260 seconds) |
2024-01-25 14:12:25 +0100 | AlexZenon | (~alzenon@94.233.241.143) |
2024-01-25 14:13:30 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-01-25 14:22:04 +0100 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.1.2) |
2024-01-25 14:29:14 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-01-25 14:30:46 +0100 | Guest68 | (~Guest68@104.193.8.144) |
2024-01-25 14:35:16 +0100 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) |
2024-01-25 14:36:10 +0100 | <cheater> | anyone know what an autogen Paths_* module is, in a cabal file? |
2024-01-25 14:37:29 +0100 | <ncf> | https://cabal.readthedocs.io/en/stable/cabal-package.html#accessing-data-files-from-package-code |
2024-01-25 14:37:32 +0100 | <cheater> | right |
2024-01-25 14:37:34 +0100 | <cheater> | https://downloads.haskell.org/~ghc/7.0.3/docs/html/Cabal/authors.html#paths-module |
2024-01-25 14:37:36 +0100 | Guest68 | chenggong7788 |
2024-01-25 14:37:42 +0100 | <cheater> | that's what i stumbled upon |
2024-01-25 14:37:45 +0100 | <cheater> | but yours is better! |
2024-01-25 14:43:49 +0100 | mxs | (~mxs@user/mxs) |
2024-01-25 14:47:28 +0100 | chenggong7788 | nil78 |
2024-01-25 14:51:00 +0100 | shriekingnoise | (~shrieking@186.137.175.87) |
2024-01-25 14:51:37 +0100 | ddellacosta | (~ddellacos@ool-44c73d16.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-01-25 15:00:09 +0100 | nil78 | (~Guest68@104.193.8.144) (Quit: Client closed) |
2024-01-25 15:12:42 +0100 | phma | (~phma@2001:5b0:211c:bbb8:1d29:ba48:4236:ecbf) (Read error: Connection reset by peer) |
2024-01-25 15:13:06 +0100 | phma | (~phma@host-67-44-208-13.hnremote.net) |
2024-01-25 15:16:47 +0100 | yae | (~yae@102.190.180.98) (Ping timeout: 264 seconds) |
2024-01-25 15:22:29 +0100 | potato44 | (uid421314@id-421314.lymington.irccloud.com) |
2024-01-25 15:25:47 +0100 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
2024-01-25 15:27:48 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2024-01-25 15:30:16 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-01-25 15:41:45 +0100 | stefan-__ | (~m-yh2rcc@42dots.de) (Remote host closed the connection) |
2024-01-25 15:43:07 +0100 | stefan-__ | (~m-yh2rcc@42dots.de) |
2024-01-25 15:43:56 +0100 | igemnace | (~ian@user/igemnace) |
2024-01-25 15:50:37 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:e51c:5224:763d:eb0f) (Remote host closed the connection) |
2024-01-25 15:50:51 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:e51c:5224:763d:eb0f) |
2024-01-25 15:54:14 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-01-25 15:54:38 +0100 | td_ | (~td@i53870927.versanet.de) (Quit: waking up from the american dream ...) |
2024-01-25 15:56:55 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
2024-01-25 15:57:19 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds) |
2024-01-25 15:57:56 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.1.2) |
2024-01-25 15:58:32 +0100 | td_ | (~td@i53870927.versanet.de) |
2024-01-25 16:06:29 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-01-25 16:06:44 +0100 | _xor | (~xor@ip-208-102-243-175.dynamic.fuse.net) |
2024-01-25 16:08:25 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-01-25 16:18:44 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1) |
2024-01-25 16:20:05 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2024-01-25 16:21:02 +0100 | mreh | (~mreh@2a00:23c7:2803:ef01:4860:7737:fc69:542b) (Ping timeout: 250 seconds) |
2024-01-25 16:23:35 +0100 | nschoe | (nschoe@gateway/vpn/protonvpn/nschoe) (Ping timeout: 252 seconds) |
2024-01-25 16:24:47 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
2024-01-25 16:25:19 +0100 | euleritian | (~euleritia@dynamic-176-006-180-040.176.6.pool.telefonica.de) |
2024-01-25 16:25:22 +0100 | CiaoSen | (~Jura@2a05:5800:289:df00:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds) |
2024-01-25 16:31:19 +0100 | zetef | (~quassel@95.77.17.251) |
2024-01-25 16:37:02 +0100 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2024-01-25 16:37:11 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 268 seconds) |
2024-01-25 16:39:18 +0100 | Square | (~Square@user/square) |
2024-01-25 16:42:42 +0100 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
2024-01-25 16:52:00 +0100 | nschoe | (nschoe@gateway/vpn/protonvpn/nschoe) |
2024-01-25 16:55:22 +0100 | mei | (~mei@user/mei) |
2024-01-25 16:58:36 +0100 | siw5ohs0 | (~aiw5ohs0@user/aiw5ohs0) |
2024-01-25 16:58:46 +0100 | siw5ohs0 | (~aiw5ohs0@user/aiw5ohs0) () |
2024-01-25 17:13:52 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-01-25 17:14:33 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-01-25 17:22:37 +0100 | euleritian | (~euleritia@dynamic-176-006-180-040.176.6.pool.telefonica.de) (Ping timeout: 264 seconds) |
2024-01-25 17:22:47 +0100 | euleritian | (~euleritia@dynamic-176-006-189-183.176.6.pool.telefonica.de) |
2024-01-25 17:26:22 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-01-25 17:27:11 +0100 | euleritian | (~euleritia@dynamic-176-006-189-183.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-25 17:28:04 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 17:35:39 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-01-25 17:43:31 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d9f4:da25:bff2:5432) (Remote host closed the connection) |
2024-01-25 17:43:52 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c1cf:e14:7781:abcb) |
2024-01-25 17:49:57 +0100 | igemnace | (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
2024-01-25 17:52:08 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-01-25 17:52:21 +0100 | zetef | (~quassel@95.77.17.251) (Ping timeout: 256 seconds) |
2024-01-25 17:52:37 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 17:54:10 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-01-25 17:54:45 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 17:54:51 +0100 | danse-nr3 | (~danse@151.47.78.152) (Ping timeout: 260 seconds) |
2024-01-25 17:55:36 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-01-25 17:59:35 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:e51c:5224:763d:eb0f) (Remote host closed the connection) |
2024-01-25 18:00:13 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-01-25 18:00:52 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
2024-01-25 18:01:22 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 18:04:04 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2024-01-25 18:04:04 +0100 | danse-nr3 | (~danse@151.37.152.59) |
2024-01-25 18:08:42 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection) |
2024-01-25 18:14:14 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-01-25 18:16:20 +0100 | nschoe | (nschoe@gateway/vpn/protonvpn/nschoe) (Ping timeout: 252 seconds) |
2024-01-25 18:18:29 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 240 seconds) |
2024-01-25 18:25:35 +0100 | causal | (~eric@50.35.85.7) (Quit: WeeChat 4.1.1) |
2024-01-25 18:27:21 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-01-25 18:29:02 +0100 | tri_ | (~tri@ool-18bbef1a.static.optonline.net) |
2024-01-25 18:29:02 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Read error: Connection reset by peer) |
2024-01-25 18:33:46 +0100 | tri_ | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 256 seconds) |
2024-01-25 18:36:48 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection) |
2024-01-25 18:38:16 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-01-25 18:43:55 +0100 | mqlnv | (~tripod@47.154.25.27) (Ping timeout: 268 seconds) |
2024-01-25 18:44:23 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
2024-01-25 18:45:21 +0100 | mqlnv | (~tripod@47.154.25.27) |
2024-01-25 18:49:31 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
2024-01-25 18:49:56 +0100 | euleritian | (~euleritia@dynamic-176-006-189-183.176.6.pool.telefonica.de) |
2024-01-25 18:53:22 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-95.elisa-laajakaista.fi) |
2024-01-25 18:59:06 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-01-25 19:01:08 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-01-25 19:02:49 +0100 | danse-nr3 | (~danse@151.37.152.59) (Ping timeout: 246 seconds) |
2024-01-25 19:06:13 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 276 seconds) |
2024-01-25 19:14:36 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-01-25 19:17:09 +0100 | wlhn | (~wenzel@dl5nxl8j-r4kxslv6t5kt-3.rev.dnainternet.fi) (Quit: Leaving) |
2024-01-25 19:17:54 +0100 | euleritian | (~euleritia@dynamic-176-006-189-183.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-25 19:17:55 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2024-01-25 19:18:12 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 19:21:27 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-25 19:22:43 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-01-25 19:22:46 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2024-01-25 19:23:32 +0100 | euleritian | (~euleritia@dynamic-176-006-189-183.176.6.pool.telefonica.de) |
2024-01-25 19:26:23 +0100 | euleritian | (~euleritia@dynamic-176-006-189-183.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-25 19:26:40 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 19:27:50 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-01-25 19:28:39 +0100 | mqlnv | (~tripod@47.154.25.27) (Ping timeout: 260 seconds) |
2024-01-25 19:29:49 +0100 | megaTherion | (~therion@unix.io) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-01-25 19:30:02 +0100 | irrgit_ | (~irrgit@89.47.234.26) (Remote host closed the connection) |
2024-01-25 19:30:05 +0100 | mqlnv | (~tripod@47.154.25.27) |
2024-01-25 19:30:45 +0100 | irrgit_ | (~irrgit@146.70.27.218) |
2024-01-25 19:31:01 +0100 | megaTherion | (~therion@unix.io) |
2024-01-25 19:31:30 +0100 | johnw_ | johnw |
2024-01-25 19:33:01 +0100 | mima | (~mmh@aftr-62-216-211-75.dynamic.mnet-online.de) (Ping timeout: 260 seconds) |
2024-01-25 19:42:08 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-01-25 19:42:48 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 19:49:51 +0100 | rosco | (~rosco@175.136.156.77) (Quit: Lost terminal) |
2024-01-25 20:01:30 +0100 | megaTherion | (~therion@unix.io) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-01-25 20:03:19 +0100 | megaTherion | (~therion@unix.io) |
2024-01-25 20:07:31 +0100 | megaTherion | (~therion@unix.io) (Client Quit) |
2024-01-25 20:08:36 +0100 | megaTherion | (~therion@unix.io) |
2024-01-25 20:13:32 +0100 | nschoe | (nschoe@gateway/vpn/protonvpn/nschoe) |
2024-01-25 20:14:01 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2024-01-25 20:18:52 +0100 | thegeekinside | (~thegeekin@189.180.65.186) |
2024-01-25 20:30:39 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2024-01-25 20:30:39 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2024-01-25 20:30:39 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2024-01-25 20:30:39 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2024-01-25 20:30:39 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2024-01-25 20:30:39 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-01-25 20:31:43 +0100 | nschoe | (nschoe@gateway/vpn/protonvpn/nschoe) (Ping timeout: 256 seconds) |
2024-01-25 20:33:02 +0100 | ft | (~ft@p508dbda4.dip0.t-ipconnect.de) |
2024-01-25 20:36:01 +0100 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 260 seconds) |
2024-01-25 20:39:26 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection) |
2024-01-25 20:42:13 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) (Remote host closed the connection) |
2024-01-25 20:43:56 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
2024-01-25 20:45:47 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-01-25 20:46:17 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2024-01-25 20:46:18 +0100 | califax | (~califax@user/califx) |
2024-01-25 20:46:47 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-25 20:48:19 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-01-25 20:50:03 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2024-01-25 20:52:00 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) |
2024-01-25 20:52:00 +0100 | ChanServ | +v haskellbridge |
2024-01-25 20:53:01 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2024-01-25 20:53:19 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2024-01-25 20:53:26 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2024-01-25 20:53:31 +0100 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
2024-01-25 20:53:46 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-01-25 20:55:03 +0100 | pastly | (~pastly@gateway/tor-sasl/pastly) |
2024-01-25 20:55:23 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-01-25 20:58:18 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-01-25 20:58:25 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
2024-01-25 20:59:14 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-25 21:03:56 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-01-25 21:05:40 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-01-25 21:11:33 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-01-25 21:14:30 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-01-25 21:16:35 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) |
2024-01-25 21:19:44 +0100 | EvanR_ | (~EvanR@user/evanr) |
2024-01-25 21:19:53 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c1cf:e14:7781:abcb) (Remote host closed the connection) |
2024-01-25 21:19:59 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2024-01-25 21:20:46 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-01-25 21:20:51 +0100 | EvanR | (~EvanR@user/evanr) (Ping timeout: 268 seconds) |
2024-01-25 21:21:13 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-01-25 21:24:35 +0100 | mikko | (~mikko@user/mikko) (Ping timeout: 264 seconds) |
2024-01-25 21:37:30 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
2024-01-25 21:37:57 +0100 | mikko | (~mikko@user/mikko) |
2024-01-25 21:41:00 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-25 21:45:15 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
2024-01-25 21:47:24 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2024-01-25 21:47:55 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-01-25 21:54:42 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-01-25 21:54:46 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c1cf:e14:7781:abcb) |
2024-01-25 22:01:53 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-01-25 22:06:55 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 276 seconds) |
2024-01-25 22:10:02 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
2024-01-25 22:15:17 +0100 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 256 seconds) |
2024-01-25 22:24:08 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-01-25 22:36:36 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-01-25 22:37:48 +0100 | TonyStone | (~TonyStone@074-076-057-186.res.spectrum.com) (Quit: Leaving) |
2024-01-25 22:37:56 +0100 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
2024-01-25 22:41:36 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-01-25 22:49:23 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2024-01-25 22:51:19 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-01-25 22:56:37 +0100 | irrgit_ | (~irrgit@146.70.27.218) (Quit: Leaving) |
2024-01-25 22:57:34 +0100 | innegatives_ | (sid621315@id-621315.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-01-25 23:00:04 +0100 | EvanR_ | EvanR |
2024-01-25 23:06:35 +0100 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
2024-01-25 23:10:33 +0100 | trev | (~trev@user/trev) (Quit: trev) |
2024-01-25 23:20:57 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2024-01-25 23:24:04 +0100 | Guest86 | (~Guest86@2603-6081-7b00-a800-0000-0000-0000-0002.res6.spectrum.com) |
2024-01-25 23:25:48 +0100 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-01-25 23:27:41 +0100 | Guest86 | (~Guest86@2603-6081-7b00-a800-0000-0000-0000-0002.res6.spectrum.com) (Client Quit) |
2024-01-25 23:28:12 +0100 | mei | (~mei@user/mei) |
2024-01-25 23:33:22 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-01-25 23:38:37 +0100 | julie_pilgrim | (~julie_pil@user/julie-pilgrim/x-1240752) |
2024-01-25 23:41:12 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-25 23:43:58 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-25 23:47:26 +0100 | innegatives_ | (uid621315@id-621315.tinside.irccloud.com) |
2024-01-25 23:49:44 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.0) |
2024-01-25 23:51:38 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 255 seconds) |
2024-01-25 23:51:59 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-25 23:53:22 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |