2024-06-30 00:00:12 +0200 | <geekosaur> | I'll agree with that |
2024-06-30 00:00:34 +0200 | <geekosaur> | for that matter, I have no formal CS training and barely any programming training (I once took a fortran course) |
2024-06-30 00:01:27 +0200 | <zzz> | that being said, i recognise the importance of knowing |
2024-06-30 00:02:21 +0200 | <geekosaur> | but in this case, I'll also argue that many of the rules you have to know about aren't just from the Report; they're from how early GHC devs chose to implement them and the resulting technical debt |
2024-06-30 00:02:30 +0200 | <geekosaur> | cf. Integer behavior |
2024-06-30 00:02:52 +0200 | <geekosaur> | and you can't get that even from the GHC manual |
2024-06-30 00:04:12 +0200 | <geekosaur> | much of it you have to get by reading the source to the ghc-bignum package |
2024-06-30 00:05:21 +0200 | <geekosaur> | which you won't even know about unless you get curious about ghc-pkg --global output, or pay very close attention to ghc release notes |
2024-06-30 00:07:29 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 268 seconds) |
2024-06-30 00:11:00 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 00:11:48 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 268 seconds) |
2024-06-30 00:16:26 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-06-30 00:38:19 +0200 | emm | (~emm@user/edmeme) (Ping timeout: 268 seconds) |
2024-06-30 00:46:10 +0200 | xdminsy | (~xdminsy@117.147.70.231) (Quit: Konversation terminated!) |
2024-06-30 00:46:24 +0200 | aaronv | (~aaronv@user/aaronv) (Remote host closed the connection) |
2024-06-30 00:46:36 +0200 | xdminsy | (~xdminsy@117.147.70.231) |
2024-06-30 00:46:43 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 00:48:30 +0200 | mikess | (~mikess@user/mikess) |
2024-06-30 01:01:07 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2024-06-30 01:07:11 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 264 seconds) |
2024-06-30 01:10:53 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e714dc64f17ffbaa6306596b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2024-06-30 01:17:10 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 268 seconds) |
2024-06-30 01:17:59 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-30 01:27:20 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-06-30 01:28:32 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-30 01:29:25 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 256 seconds) |
2024-06-30 01:30:58 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 01:34:48 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2024-06-30 01:41:01 +0200 | madeleine-sydney | (~madeleine@c-71-229-185-228.hsd1.co.comcast.net) (Remote host closed the connection) |
2024-06-30 01:42:10 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3216-58a7-4198-eabe-8a40-71c0.rev.sfr.net) (Remote host closed the connection) |
2024-06-30 01:55:06 +0200 | OscarZ | (~oscarz@mobile-access-5d6ab7-137.dhcp.inet.fi) |
2024-06-30 01:55:16 +0200 | pavonia | (~user@user/siracusa) (Read error: Connection reset by peer) |
2024-06-30 01:57:52 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-06-30 01:59:01 +0200 | pavonia | (~user@user/siracusa) |
2024-06-30 02:01:48 +0200 | OscarZ | (~oscarz@mobile-access-5d6ab7-137.dhcp.inet.fi) (Quit: Leaving) |
2024-06-30 02:14:40 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-06-30 02:25:30 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-06-30 02:26:23 +0200 | mhatta | (~mhatta@www21123ui.sakura.ne.jp) (Remote host closed the connection) |
2024-06-30 02:29:07 +0200 | onliner10_ | (uid656258@user/onliner10) (Quit: Connection closed for inactivity) |
2024-06-30 02:32:53 +0200 | mhatta | (~mhatta@www21123ui.sakura.ne.jp) |
2024-06-30 02:39:02 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-06-30 02:39:30 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-06-30 02:41:04 +0200 | califax | (~califax@user/califx) |
2024-06-30 02:44:44 +0200 | ft | (~ft@i5C743B07.versanet.de) (Ping timeout: 268 seconds) |
2024-06-30 02:45:59 +0200 | ft | (~ft@mue-88-130-107-007.dsl.tropolys.de) |
2024-06-30 02:46:51 +0200 | phma | (~phma@host-67-44-208-9.hnremote.net) (Read error: Connection reset by peer) |
2024-06-30 02:47:20 +0200 | phma | (~phma@2001:5b0:215d:ae38:bf89:58e8:737e:e16c) |
2024-06-30 02:51:49 +0200 | hololeap | progress-bot |
2024-06-30 02:52:35 +0200 | progress-bot | hololeap |
2024-06-30 03:13:17 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 240 seconds) |
2024-06-30 03:17:41 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 240 seconds) |
2024-06-30 03:25:03 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-06-30 03:26:04 +0200 | mikess | (~mikess@user/mikess) |
2024-06-30 03:33:42 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-06-30 03:35:50 +0200 | nek0 | (~nek0@user/nek0) |
2024-06-30 03:45:19 +0200 | dcoutts | (~duncan@2a02:8012:ae9a:0:9a7e:1cf5:7c51:c650) (Ping timeout: 246 seconds) |
2024-06-30 03:47:48 +0200 | dcoutts | (~duncan@2a02:8012:ae9a:0:9a7e:1cf5:7c51:c650) |
2024-06-30 03:51:22 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-06-30 03:57:13 +0200 | rosco | (~rosco@175.136.155.137) |
2024-06-30 04:05:04 +0200 | op_4 | (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
2024-06-30 04:05:35 +0200 | op_4 | (~tslil@user/op-4/x-9116473) |
2024-06-30 04:08:25 +0200 | nadja | (~dequbed@banana-new.kilobyte22.de) (Ping timeout: 246 seconds) |
2024-06-30 04:09:19 +0200 | nadja | (~dequbed@banana-new.kilobyte22.de) |
2024-06-30 04:10:56 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-06-30 04:11:33 +0200 | dyniec | (~dyniec@dybiec.info) (Quit: WeeChat 4.2.2) |
2024-06-30 04:12:55 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 268 seconds) |
2024-06-30 04:14:47 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-06-30 04:17:43 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 04:28:23 +0200 | joeyadams | (~joeyadams@2603:6010:5100:2ed:77d8:7bd:e37b:39ff) |
2024-06-30 04:32:55 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 272 seconds) |
2024-06-30 04:33:29 +0200 | nhar | (~noah@c-73-237-54-185.hsd1.ga.comcast.net) |
2024-06-30 04:37:42 +0200 | nhar | (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Client Quit) |
2024-06-30 04:38:03 +0200 | nhar | (~noah@c-73-237-54-185.hsd1.ga.comcast.net) |
2024-06-30 04:42:30 +0200 | nhar | (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Client Quit) |
2024-06-30 04:42:45 +0200 | nhar | (~noah@c-73-237-54-185.hsd1.ga.comcast.net) |
2024-06-30 04:44:23 +0200 | td_ | (~td@i5387091C.versanet.de) (Ping timeout: 264 seconds) |
2024-06-30 04:45:50 +0200 | td_ | (~td@i5387093F.versanet.de) |
2024-06-30 04:54:55 +0200 | nhar | (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Quit: leaving) |
2024-06-30 04:55:53 +0200 | nhar | (~noah@c-73-237-54-185.hsd1.ga.comcast.net) |
2024-06-30 04:57:23 +0200 | bilegeek | (~bilegeek@2600:1008:b057:7524:18e9:1f68:5cd:444a) |
2024-06-30 04:59:01 +0200 | <nhar> | hello world! |
2024-06-30 04:59:36 +0200 | <nhar> | is this the right place to ask questions? |
2024-06-30 05:03:40 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 05:04:49 +0200 | <mauke> | well, one of them |
2024-06-30 05:05:00 +0200 | <mauke> | (hopefully they're haskell related) |
2024-06-30 05:05:45 +0200 | <nhar> | oh good! My setup works! (first time IRC user...wasn't sure my Nix setup worked). |
2024-06-30 05:05:53 +0200 | <nhar> | I do have a Haskell question though: |
2024-06-30 05:06:25 +0200 | <nhar> | I am trying to write a function with the following type: traverseJoin :: (Monad t, Traversable t, Applicative f) => (a -> f (t b)) -> t a -> m (t b) |
2024-06-30 05:07:30 +0200 | <mauke> | that looks wrong, even without the typo |
2024-06-30 05:08:02 +0200 | <nhar> | How so? I'm not trying to write an instance for `traverse` if that's what you mean |
2024-06-30 05:08:21 +0200 | <mauke> | where does that m come from? |
2024-06-30 05:08:40 +0200 | <nhar> | that's a typo, it should be f |
2024-06-30 05:08:54 +0200 | <mauke> | ah |
2024-06-30 05:09:14 +0200 | <nhar> | essientially I'm looking for something that optimizes: join <$> traverse f x |
2024-06-30 05:11:53 +0200 | <joeyadams> | :t \f x -> join <$> traverse f x |
2024-06-30 05:11:54 +0200 | <lambdabot> | (Monad m, Traversable m, Applicative f) => (a1 -> f (m a2)) -> m a1 -> f (m a2) |
2024-06-30 05:14:29 +0200 | <joeyadams> | :t concatMap |
2024-06-30 05:14:30 +0200 | <lambdabot> | Foldable t => (a -> [b]) -> t a -> [b] |
2024-06-30 05:19:22 +0200 | <joeyadams> | So are you asking if there's a generalized concatMap that isn't specialized to returning a list? |
2024-06-30 05:20:54 +0200 | <nhar> | kind of. I am looking for something that is like traverse but instead of the function returning pure values wrapped in the Applicative it returns new sub-trees of the data structure your traverse that would be stitched in "on the way up" |
2024-06-30 05:21:21 +0200 | <nhar> | traverse (f :: a -> m (t b)) x :: m (t (t b)) |
2024-06-30 05:21:49 +0200 | <nhar> | and so join <$> traverse f x :: m (t b) |
2024-06-30 05:22:03 +0200 | madhavanmiui | (~madhavanm@2409:40f4:1030:9d51:8000::) |
2024-06-30 05:22:13 +0200 | <nhar> | the `join <$>` part has to crawl through t again just to perform the join |
2024-06-30 05:27:44 +0200 | robertm | (robertm@lattice.rojoma.com) (Quit: WeeChat 3.8) |
2024-06-30 05:30:19 +0200 | robertm | (robertm@lattice.rojoma.com) |
2024-06-30 05:34:02 +0200 | <joeyadams> | To make this easier to think about, I'll specialize f to [] and t to Tree, giving: traverseJoin :: (a -> [Tree b]) -> Tree a -> [Tree b] |
2024-06-30 05:34:47 +0200 | <nhar> | good idea |
2024-06-30 05:35:37 +0200 | madhavanmiui | (~madhavanm@2409:40f4:1030:9d51:8000::) (Quit: Quit) |
2024-06-30 05:35:45 +0200 | <Leary> | nhar: Perhaps you can use `Monoid (t b)` rather than `Monad t`? |
2024-06-30 05:35:51 +0200 | <Leary> | :t \f -> getAp . foldMap (Ap . f) |
2024-06-30 05:35:52 +0200 | <lambdabot> | forall k (t :: * -> *) (f :: k -> *) (a1 :: k) a2. (Foldable t, Monoid (Ap f a1)) => (a2 -> f a1) -> t a2 -> f a1 |
2024-06-30 05:39:31 +0200 | <nhar> | that kind of works..however: instance (Applicative f, Monoid a1) => Monoid (Ap f a1) |
2024-06-30 05:39:54 +0200 | <nhar> | that would require a Monoid instance for `b` in my signature for traverseJoin |
2024-06-30 05:41:25 +0200 | <Leary> | Not if `Monoid (t b)` is satisfied regardless of `b`. |
2024-06-30 05:42:39 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
2024-06-30 05:43:14 +0200 | <Leary> | The other option is Alternative. |
2024-06-30 05:43:17 +0200 | <Leary> | :t \f -> getAp . fmap getAlt . foldMap (Ap . fmap Alt . f) |
2024-06-30 05:43:18 +0200 | <lambdabot> | forall k (f1 :: * -> *) (t :: * -> *) (f2 :: k -> *) (a1 :: k) a2. (Foldable t, Applicative f1, Monoid (Alt f2 a1)) => (a2 -> f1 (f2 a1)) -> t a2 -> f1 (f2 a1) |
2024-06-30 05:43:50 +0200 | <nhar> | Leary: true. but to be more transparent my `t` type is an AST and I don't see a reasonable way to make a Monoid or Alternative instance for that |
2024-06-30 05:44:18 +0200 | <nhar> | data Exp a = Var a | Lam VarName (Exp a) | App (Exp a) (Exp a) |
2024-06-30 05:44:39 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
2024-06-30 05:46:27 +0200 | <nhar> | I'm pretty sure at minimum I'll need Traversable t becuase Traversable is what re-constructs the original AST I'm folding over |
2024-06-30 05:49:43 +0200 | <Leary> | If you really want to optimise `join <$> traverse f x` for that, you're probably best off just writing it by hand. |
2024-06-30 05:51:15 +0200 | <nhar> | yeah...I think you're right. And if I need to make a new typeclass. Thanks for the help! |
2024-06-30 05:57:23 +0200 | <nhar> | wait...I think I figured out a better approach: \x h -> lift x >>= h :: (MonadTrans f, Monad t) => (a -> f (t a)) -> t a -> f (t b) |
2024-06-30 06:05:19 +0200 | <mauke> | (MonadTrans f, Monad t) => t a -> (a -> f t b) -> f t b |
2024-06-30 06:12:35 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-30 06:13:09 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-06-30 06:15:17 +0200 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-06-30 06:23:19 +0200 | aaronv | (~aaronv@user/aaronv) (Remote host closed the connection) |
2024-06-30 06:23:44 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 06:25:04 +0200 | <Leary> | nhar: You can write `newtype TraverseT t f a = TraverseT{ runTraverseT :: f (t a) }; instance (Traversable t, Monad t, Monad f) => Monad (TraverseT t f)` and use `\f x -> runTraverseT (TraverseT (pure x) >>= TraverseT . f)`, but that bind will end up doing exactly what you're trying to avoid. |
2024-06-30 06:25:41 +0200 | foul_owl | (~kerry@185.219.141.162) (Ping timeout: 240 seconds) |
2024-06-30 06:29:57 +0200 | lol_ | (~lol@2603:3016:1e01:b940:c519:e2d2:dade:6025) |
2024-06-30 06:30:59 +0200 | DreamDeckup | (~DreamDeck@bras-base-lprrpq1404w-grc-06-184-145-181-233.dsl.bell.ca) |
2024-06-30 06:32:01 +0200 | zzz | (~yin@user/zero) (Ping timeout: 256 seconds) |
2024-06-30 06:33:59 +0200 | <nhar> | Leary: Thanks! I think technically the MonadTrans direction is really what I'm looking for...you wouldn't happen to have used polysemy by any chance? |
2024-06-30 06:34:03 +0200 | jcarpenter2 | (~lol@2603:3016:1e01:b940:c8a1:76:d03d:bf70) (Ping timeout: 255 seconds) |
2024-06-30 06:36:36 +0200 | <Leary> | nhar: Nope, and I don't recommend any of the early effect systems, especially if efficiency is a priority. Consider effectful or bluefin instead. |
2024-06-30 06:38:08 +0200 | DreamDeckup | (~DreamDeck@bras-base-lprrpq1404w-grc-06-184-145-181-233.dsl.bell.ca) (Ping timeout: 252 seconds) |
2024-06-30 06:38:28 +0200 | DreamDeckup | (~DreamDeck@194.127.199.29) |
2024-06-30 06:38:29 +0200 | zzz | (~yin@user/zero) |
2024-06-30 06:40:48 +0200 | <nhar> | Leary: Thanks! I'll look into those! Not sure how to keep up with what's outdated etc... |
2024-06-30 06:50:35 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 256 seconds) |
2024-06-30 06:53:57 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-06-30 06:57:05 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 07:05:30 +0200 | nhar | (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Quit: leaving) |
2024-06-30 07:34:50 +0200 | DreamDeckup | (~DreamDeck@194.127.199.29) (Remote host closed the connection) |
2024-06-30 07:46:27 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-06-30 07:50:42 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-06-30 07:51:17 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-06-30 07:57:17 +0200 | pavonia | (~user@user/siracusa) |
2024-06-30 08:17:17 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 240 seconds) |
2024-06-30 08:22:24 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 08:23:18 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-30 08:39:50 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-06-30 08:40:14 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 252 seconds) |
2024-06-30 08:45:08 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-06-30 08:54:24 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-06-30 09:00:09 +0200 | tt12310978 | (~tt1231@syn-075-185-104-199.res.spectrum.com) (Quit: The Lounge - https://thelounge.chat) |
2024-06-30 09:00:40 +0200 | bilegeek | (~bilegeek@2600:1008:b057:7524:18e9:1f68:5cd:444a) (Quit: Leaving) |
2024-06-30 09:00:48 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2024-06-30 09:00:48 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-06-30 09:00:48 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2024-06-30 09:00:48 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2024-06-30 09:00:48 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2024-06-30 09:00:48 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-06-30 09:01:12 +0200 | califax | (~califax@user/califx) |
2024-06-30 09:01:21 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-06-30 09:01:22 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-06-30 09:01:32 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2024-06-30 09:01:39 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2024-06-30 09:01:52 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
2024-06-30 09:03:13 +0200 | tt123109783 | (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) |
2024-06-30 09:07:40 +0200 | rosco | (~rosco@175.136.155.137) (Quit: Lost terminal) |
2024-06-30 09:10:54 +0200 | joeyadams | (~joeyadams@2603:6010:5100:2ed:77d8:7bd:e37b:39ff) (Quit: Leaving) |
2024-06-30 09:16:42 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds) |
2024-06-30 09:17:05 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-30 09:18:20 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-06-30 09:23:04 +0200 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 246 seconds) |
2024-06-30 09:25:16 +0200 | rosco | (~rosco@175.136.155.137) |
2024-06-30 09:36:40 +0200 | sprout | (~quassel@2a02-a448-3a80-0-d123-5da7-9ae5-44be.fixed6.kpn.net) (Ping timeout: 268 seconds) |
2024-06-30 09:37:21 +0200 | sprout | (~quassel@2a02-a448-3a80-0-6981-debe-91f4-8f74.fixed6.kpn.net) |
2024-06-30 09:37:36 +0200 | dcoutts | (~duncan@2a02:8012:ae9a:0:9a7e:1cf5:7c51:c650) (Ping timeout: 268 seconds) |
2024-06-30 09:39:48 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e72cfb4649ca0157bfe844d2.dip0.t-ipconnect.de) |
2024-06-30 09:52:11 +0200 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) |
2024-06-30 09:52:38 +0200 | madhavanmiui | (~madhavanm@152.58.253.222) |
2024-06-30 09:53:07 +0200 | madhavanmiui | (~madhavanm@152.58.253.222) (Client Quit) |
2024-06-30 09:55:34 +0200 | reuben | (~reuben@183.82.114.12) |
2024-06-30 09:57:02 +0200 | reuben | (~reuben@183.82.114.12) () |
2024-06-30 09:59:54 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
2024-06-30 10:00:04 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2024-06-30 10:02:40 +0200 | reuben | (~reuben@user/greuben) |
2024-06-30 10:03:11 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-30 10:05:17 +0200 | aforemny | (~aforemny@2001:9e8:6cdc:700:7c5a:7635:6125:375c) |
2024-06-30 10:06:54 +0200 | reuben | (~reuben@user/greuben) (Quit: Konversation terminated!) |
2024-06-30 10:11:50 +0200 | mreh | (~matthew@host86-160-168-12.range86-160.btcentralplus.com) |
2024-06-30 10:16:35 +0200 | gmg | (~user@user/gehmehgeh) |
2024-06-30 10:25:09 +0200 | aaronv | (~aaronv@user/aaronv) (Remote host closed the connection) |
2024-06-30 10:25:29 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 10:38:16 +0200 | target_i | (~target_i@user/target-i/x-6023099) |
2024-06-30 10:39:16 +0200 | euleritian | (~euleritia@dynamic-176-001-133-228.176.1.pool.telefonica.de) (Ping timeout: 268 seconds) |
2024-06-30 10:40:29 +0200 | euleritian | (~euleritia@dynamic-176-002-083-211.176.2.pool.telefonica.de) |
2024-06-30 10:44:49 +0200 | defanor_ | (~defanor@tart.uberspace.net) |
2024-06-30 10:46:11 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 264 seconds) |
2024-06-30 10:52:12 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-06-30 10:54:14 +0200 | soverysour | (~soverysou@81.196.150.219) |
2024-06-30 10:54:14 +0200 | soverysour | (~soverysou@81.196.150.219) (Changing host) |
2024-06-30 10:54:14 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 11:02:28 +0200 | TactfulCitrus | (~al@2a02:8012:87a6:0:fbe0:6116:6e30:e047) |
2024-06-30 11:13:08 +0200 | zzz | (~yin@user/zero) (Ping timeout: 252 seconds) |
2024-06-30 11:20:06 +0200 | zzz | (~yin@user/zero) |
2024-06-30 11:25:58 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-06-30 11:25:59 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-06-30 11:29:32 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) |
2024-06-30 11:34:30 +0200 | emm | (~emm@user/edmeme) |
2024-06-30 11:41:18 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-06-30 11:46:21 +0200 | dcoutts | (~duncan@2a02:8012:ae9a:0:9a7e:1cf5:7c51:c650) |
2024-06-30 11:48:01 +0200 | simendsjo | (~user@84.209.170.3) |
2024-06-30 11:49:23 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-30 11:50:58 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-06-30 11:51:15 +0200 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 264 seconds) |
2024-06-30 11:56:39 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 268 seconds) |
2024-06-30 12:16:47 +0200 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) |
2024-06-30 12:19:18 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 256 seconds) |
2024-06-30 12:22:15 +0200 | dcoutts | (~duncan@2a02:8012:ae9a:0:9a7e:1cf5:7c51:c650) (Ping timeout: 268 seconds) |
2024-06-30 12:23:21 +0200 | zzz | (~yin@user/zero) (Ping timeout: 256 seconds) |
2024-06-30 12:23:21 +0200 | connrs | (~connrs@user/connrs) (Read error: Connection reset by peer) |
2024-06-30 12:24:33 +0200 | soverysour | (~soverysou@81.196.150.219) |
2024-06-30 12:24:33 +0200 | soverysour | (~soverysou@81.196.150.219) (Changing host) |
2024-06-30 12:24:33 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 12:24:47 +0200 | __monty__ | (~toonn@user/toonn) |
2024-06-30 12:30:14 +0200 | zzz | (~yin@user/zero) |
2024-06-30 12:30:18 +0200 | dcoutts | (~duncan@2a02:8012:ae9a:0:9a7e:1cf5:7c51:c650) |
2024-06-30 12:37:21 +0200 | dcoutts | (~duncan@2a02:8012:ae9a:0:9a7e:1cf5:7c51:c650) (Ping timeout: 268 seconds) |
2024-06-30 12:40:54 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3215-598d-d54a-56ea-534f-abcf.rev.sfr.net) |
2024-06-30 12:40:59 +0200 | connrs | (~connrs@user/connrs) |
2024-06-30 12:44:55 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3215-598d-d54a-56ea-534f-abcf.rev.sfr.net) (Remote host closed the connection) |
2024-06-30 12:45:09 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3215-598d-edb2-6673-65b4-fdc7.rev.sfr.net) |
2024-06-30 12:45:15 +0200 | euleritian | (~euleritia@dynamic-176-002-083-211.176.2.pool.telefonica.de) (Ping timeout: 264 seconds) |
2024-06-30 12:46:12 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 255 seconds) |
2024-06-30 12:47:18 +0200 | soverysour | (~soverysou@81.196.150.219) |
2024-06-30 12:47:18 +0200 | soverysour | (~soverysou@81.196.150.219) (Changing host) |
2024-06-30 12:47:18 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 12:50:37 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-06-30 13:00:25 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 246 seconds) |
2024-06-30 13:02:36 +0200 | mrmr15533434 | (~mrmr@user/mrmr) (Quit: Bye, See ya later!) |
2024-06-30 13:11:23 +0200 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 252 seconds) |
2024-06-30 13:16:11 +0200 | <xerox> | anybody knows of a swift introduction to template haskell? I'd like to reify a very small subset of haskell (lambdas, applications, and a handful of functions) into a data tree that I want to operate on, I think TH is how I could go about it pretty directly? |
2024-06-30 13:22:09 +0200 | mrmr155334346 | (~mrmr@user/mrmr) |
2024-06-30 13:26:20 +0200 | <haskellbridge> | <sm> ghc user guide maybe ? |
2024-06-30 13:28:16 +0200 | misterfish | (~misterfis@87.215.131.102) |
2024-06-30 13:31:02 +0200 | <xerox> | yeah just stumbled upon that one, excellent |
2024-06-30 13:32:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-30 13:33:22 +0200 | oo_miguel | (~Thunderbi@78.10.207.46) |
2024-06-30 13:35:21 +0200 | soverysour | (~soverysou@81.196.150.219) |
2024-06-30 13:35:21 +0200 | soverysour | (~soverysou@81.196.150.219) (Changing host) |
2024-06-30 13:35:21 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 13:45:40 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3215-598d-edb2-6673-65b4-fdc7.rev.sfr.net) (Remote host closed the connection) |
2024-06-30 13:46:01 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3215-598d-edb2-6673-65b4-fdc7.rev.sfr.net) |
2024-06-30 13:49:12 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 268 seconds) |
2024-06-30 13:56:01 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 14:05:10 +0200 | misterfish | (~misterfis@87.215.131.102) (Ping timeout: 246 seconds) |
2024-06-30 14:21:38 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3215-598d-edb2-6673-65b4-fdc7.rev.sfr.net) (Remote host closed the connection) |
2024-06-30 14:25:33 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-30 14:37:12 +0200 | misterfish | (~misterfis@87.215.131.102) |
2024-06-30 14:47:31 +0200 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 246 seconds) |
2024-06-30 14:48:22 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-30 14:51:11 +0200 | puke | (~puke@user/puke) (Remote host closed the connection) |
2024-06-30 14:51:26 +0200 | puke | (~puke@user/puke) |
2024-06-30 14:58:05 +0200 | simendsjo | (~user@84.209.170.3) (Ping timeout: 252 seconds) |
2024-06-30 14:58:11 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3215-598d-c4fd-5ebf-ca0b-e80d.rev.sfr.net) |
2024-06-30 15:01:17 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 240 seconds) |
2024-06-30 15:09:47 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-06-30 15:13:01 +0200 | ystael | (~ystael@user/ystael) |
2024-06-30 15:14:04 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3215-598d-c4fd-5ebf-ca0b-e80d.rev.sfr.net) (Remote host closed the connection) |
2024-06-30 15:30:01 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 268 seconds) |
2024-06-30 15:32:04 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 15:37:11 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 264 seconds) |
2024-06-30 16:12:26 +0200 | soverysour | (~soverysou@81.196.150.219) |
2024-06-30 16:12:26 +0200 | soverysour | (~soverysou@81.196.150.219) (Changing host) |
2024-06-30 16:12:26 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 16:15:41 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-06-30 16:16:15 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-06-30 16:16:49 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 256 seconds) |
2024-06-30 16:19:47 +0200 | Teacup_ | (~teacup@user/teacup) () |
2024-06-30 16:20:05 +0200 | Teacup | (~teacup@user/teacup) |
2024-06-30 16:28:36 +0200 | greuben | (~reuben@user/greuben) |
2024-06-30 16:31:23 +0200 | soverysour | (~soverysou@81.196.150.219) |
2024-06-30 16:31:23 +0200 | soverysour | (~soverysou@81.196.150.219) (Changing host) |
2024-06-30 16:31:23 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 16:36:29 +0200 | greuben | (~reuben@user/greuben) (Quit: Konversation terminated!) |
2024-06-30 16:46:14 +0200 | phma | (~phma@2001:5b0:215d:ae38:bf89:58e8:737e:e16c) (Read error: Connection reset by peer) |
2024-06-30 16:47:07 +0200 | phma | (phma@2001:5b0:210b:8948:1a5:8d32:9eb9:6e63) |
2024-06-30 16:48:02 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 268 seconds) |
2024-06-30 17:02:52 +0200 | caryfitz | (~caryfitz@2600:1700:e72:9000::47) (Remote host closed the connection) |
2024-06-30 17:03:16 +0200 | caryfitz | (~caryfitz@2600:1700:e72:9000::47) |
2024-06-30 17:16:02 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 17:21:01 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 268 seconds) |
2024-06-30 17:49:57 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-30 17:51:56 +0200 | soverysour | (~soverysou@81.196.150.219) |
2024-06-30 17:51:56 +0200 | soverysour | (~soverysou@81.196.150.219) (Changing host) |
2024-06-30 17:51:56 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 17:57:06 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 268 seconds) |
2024-06-30 18:00:04 +0200 | srk- | (~sorki@user/srk) |
2024-06-30 18:00:26 +0200 | srk | (~sorki@user/srk) (Ping timeout: 256 seconds) |
2024-06-30 18:02:55 +0200 | srk- | srk |
2024-06-30 18:09:50 +0200 | oo_miguel | (~Thunderbi@78.10.207.46) (Quit: oo_miguel) |
2024-06-30 18:16:22 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-06-30 18:16:45 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-06-30 18:20:15 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds) |
2024-06-30 18:20:27 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-30 18:20:57 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2024-06-30 18:21:27 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
2024-06-30 18:22:11 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-30 18:23:28 +0200 | koz | (~koz@121.99.240.58) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-06-30 18:24:45 +0200 | koz | (~koz@121.99.240.58) |
2024-06-30 18:26:09 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-06-30 18:27:41 +0200 | Lawrence1erkheim | (~LBerkheim@user/LawrenceBerkheim) |
2024-06-30 18:27:44 +0200 | <Lawrence1erkheim> | hello |
2024-06-30 18:29:37 +0200 | <Rembane> | Hi Lawrence1erkheim ! |
2024-06-30 18:31:28 +0200 | <Lawrence1erkheim> | I had a dummy moment with a question, but then I googled it and figured it out haha |
2024-06-30 18:31:44 +0200 | <Lawrence1erkheim> | my bad |
2024-06-30 18:32:02 +0200 | <geekosaur> | rubber duck debugging at its finest |
2024-06-30 18:32:33 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-06-30 18:33:05 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-06-30 18:33:08 +0200 | <Rembane> | Lawrence1erkheim: No worries, you just won the internet! |
2024-06-30 18:34:05 +0200 | <Rembane> | Lawrence1erkheim: Mildly relevant: https://xkcd.com/979/ |
2024-06-30 18:34:42 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-06-30 18:35:11 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-06-30 18:36:43 +0200 | joeyadams | (~joeyadams@2603:6010:5100:2ed:af11:237f:c1e1:d41b) |
2024-06-30 18:41:53 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-06-30 18:43:24 +0200 | <Lawrence1erkheim> | Uhm ok I'd love some advice on learning materials |
2024-06-30 18:43:39 +0200 | <Lawrence1erkheim> | Basically I learned haskell aaaaages ago when I did my bsc |
2024-06-30 18:43:57 +0200 | <Lawrence1erkheim> | Now I'm trying to refresh my knowledge because I'll assist a professor at the uni |
2024-06-30 18:44:13 +0200 | <Lawrence1erkheim> | I opened up learnyouahaskell.com, and started going through that |
2024-06-30 18:44:24 +0200 | <Lawrence1erkheim> | But I just figured out that I'm mostly familiar with the concepts |
2024-06-30 18:45:29 +0200 | <Lawrence1erkheim> | However, when I opened up the last year's exercises, I found stuff like `Module bla bla bla`, `import`, etc. |
2024-06-30 18:45:33 +0200 | mikess | (~mikess@user/mikess) |
2024-06-30 18:45:47 +0200 | <Lawrence1erkheim> | Which is different from the stuff that I just read which is basically functional programming concepts |
2024-06-30 18:45:56 +0200 | <Lawrence1erkheim> | Can you suggest any resources? |
2024-06-30 18:46:07 +0200 | <Lawrence1erkheim> | I'm not sure what to google because I don't know what that more engineering type of programming is called here |
2024-06-30 18:47:21 +0200 | <Rembane> | Lawrence1erkheim: Real World Haskell is ancient by now, but might be worth giving a skim. |
2024-06-30 18:47:53 +0200 | <Rembane> | Isn't there a list of resources in lambdabot or something? I can't remember the word to invoke them with though. |
2024-06-30 18:48:27 +0200 | <Lawrence1erkheim> | thank you o7 |
2024-06-30 18:49:05 +0200 | <Lawrence1erkheim> | I very rarely come on to IRC, I barely managed to get on here so I'm affraid to brick my irssi while trying to invoke a bot |
2024-06-30 18:49:11 +0200 | <haskellbridge> | <sm> @ where and also https://haskell-links.org |
2024-06-30 18:49:49 +0200 | <Rembane> | Lawrence1erkheim: A potential stupid advice is to try to do the exercises for the course you'll work with yourself and ask here when you get stuck. :D |
2024-06-30 18:49:55 +0200 | <Rembane> | @where |
2024-06-30 18:49:55 +0200 | <lambdabot> | @where <key>, return element associated with key |
2024-06-30 18:50:01 +0200 | <Rembane> | lambdabot: @where |
2024-06-30 18:50:02 +0200 | <lambdabot> | @where <key>, return element associated with key |
2024-06-30 18:50:09 +0200 | <Rembane> | lambdabot: where |
2024-06-30 18:52:23 +0200 | <Lawrence1erkheim> | Rembane: Yea that's also on the table. For now I'm thinking that doing some reading will make the entire experience way smoother, although I _will_ have to do those exercises myself. |
2024-06-30 18:54:28 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-30 18:54:33 +0200 | <Rembane> | Lawrence1erkheim: Woohoo! I was mostly hoping they would give you some terminology and break up the big gap of blank in some smaller pieces. |
2024-06-30 18:56:28 +0200 | <mreh> | Lawrence1erkheim: do you mind saying which uni? |
2024-06-30 18:57:56 +0200 | <Lawrence1erkheim> | mreh: I'd rather not, the internet is a spooky place. |
2024-06-30 18:58:56 +0200 | dyniec | (~dyniec@dybiec.info) |
2024-06-30 19:07:30 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-06-30 19:10:44 +0200 | <mreh> | I was looking at RWH the other day, it's still very relevant I would say. And free. |
2024-06-30 19:11:09 +0200 | <mreh> | https://book.realworldhaskell.org/read/ |
2024-06-30 19:11:33 +0200 | <Rembane> | I think it depends on which parts of it you look at. It's not that easy to follow along because the version of Haskell is ancient and so are the packages. |
2024-06-30 19:11:57 +0200 | <mreh> | depends on his syllabus too |
2024-06-30 19:12:17 +0200 | <Rembane> | Indeed. This is where it gets tricky. :) |
2024-06-30 19:13:03 +0200 | <mreh> | YouTube is super good these days |
2024-06-30 19:13:09 +0200 | <dolio> | It doesn't seem likely that a college course on Haskell is going to be super focused on the details of particular trendy libraries. |
2024-06-30 19:13:45 +0200 | <dolio> | The concrete stuff asked about above just seems to be how to write programs with multiple files, or using libraries. |
2024-06-30 19:14:06 +0200 | dcoutts | (~duncan@212.187.183.33) |
2024-06-30 19:14:22 +0200 | <mreh> | did someone mention RWH?? |
2024-06-30 19:14:37 +0200 | <dolio> | Yeah. |
2024-06-30 19:14:43 +0200 | <mreh> | sorry ignore that |
2024-06-30 19:14:57 +0200 | <mreh> | Lawrence1erkheim: honestly I would just do the exercises and ask in here if you get stuck |
2024-06-30 19:15:28 +0200 | <geekosaur> | I'd look at CIS194 and/or the wikibook |
2024-06-30 19:15:32 +0200 | <geekosaur> | @where cis194 |
2024-06-30 19:15:32 +0200 | <lambdabot> | <https://github.com/byorgey/haskell-course>,<https://www.seas.upenn.edu/~cis194/spring13/lectures.html> |
2024-06-30 19:15:38 +0200 | <geekosaur> | @where wikibook |
2024-06-30 19:15:38 +0200 | <lambdabot> | http://en.wikibooks.org/wiki/Haskell |
2024-06-30 19:15:57 +0200 | <geekosaur> | byorgey keeps the first one up to date, the community keeps the second up to date |
2024-06-30 19:16:07 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-30 19:16:14 +0200 | <monochrom> | If the question is "what are module and import", the wikibook up there has it; but I learned it from the Haskell Report itself, the wikibook didn't exist back then. (Alternatively, it should be very easy to guess.) |
2024-06-30 19:16:54 +0200 | <Lawrence1erkheim> | Very nice |
2024-06-30 19:16:57 +0200 | <monochrom> | In the university setting, RWH is likely tangential. I mean, it is not called AWH for a reason. >:) |
2024-06-30 19:16:58 +0200 | <Lawrence1erkheim> | Thanks yall |
2024-06-30 19:17:17 +0200 | <monochrom> | or RUH haha |
2024-06-30 19:18:05 +0200 | <monochrom> | https://soupi.github.io/rfc/reading_simple_haskell/ can get you started quickly if you just need to read. |
2024-06-30 19:18:33 +0200 | <dolio> | It might explain the mundane details of how you actually compile and run a Haskell project, though. Which, like, the gentle introduction doesn't seem to do. |
2024-06-30 19:19:13 +0200 | <geekosaur> | the GI is fine if you already know SML/NJ, including how to build and run programs. it's lousy for any other background |
2024-06-30 19:19:18 +0200 | <monochrom> | (Well, I learned both Chinese and English by "just read/listen" and then "just stochastic parrot". Don't underestimate the power of that.) |
2024-06-30 19:19:43 +0200 | <Rembane> | Stochastic parrot is one of my favourite birds! |
2024-06-30 19:19:52 +0200 | <dolio> | Well, I was thinking about, 'I already know FP principles.' But it also doesn't provide the missing information. |
2024-06-30 19:19:52 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-06-30 19:19:53 +0200 | dcoutts | (~duncan@212.187.183.33) (Ping timeout: 252 seconds) |
2024-06-30 19:20:13 +0200 | <dolio> | Also it's too old for any build tools to exist. |
2024-06-30 19:20:29 +0200 | <dolio> | Which I assume are being used. |
2024-06-30 19:20:48 +0200 | <geekosaur> | it even predates `ghc --make`! |
2024-06-30 19:20:59 +0200 | <dolio> | Hahaha. Yeah. |
2024-06-30 19:21:00 +0200 | <geekosaur> | muchless that becoming the default |
2024-06-30 19:21:04 +0200 | <Lawrence1erkheim> | omg based it explains what the `::` notation means |
2024-06-30 19:22:05 +0200 | <Rembane> | Lawrence1erkheim: I need to see that explanation! Where did you find it? |
2024-06-30 19:23:25 +0200 | <Lawrence1erkheim> | I'm just going through https://soupi.github.io/rfc/reading_simple_haskell/ that was suggested |
2024-06-30 19:23:55 +0200 | <Lawrence1erkheim> | Now looking at what `data` means. I found some lesson `.hs` files, and at lesson 2 they started dropping the `data` blablabla |
2024-06-30 19:24:22 +0200 | simendsjo | (~user@84.209.170.3) |
2024-06-30 19:24:30 +0200 | <mreh> | > data Basedness = Based | Debased |
2024-06-30 19:24:32 +0200 | <lambdabot> | <hint>:1:1: error: parse error on input ‘data’ |
2024-06-30 19:24:42 +0200 | <mreh> | damn, I gotta brush up |
2024-06-30 19:24:54 +0200 | <Lawrence1erkheim> | I find the `Integer -> Integer -> Integer` very strange though |
2024-06-30 19:25:15 +0200 | <Lawrence1erkheim> | I assume it denotes a function that takes two integers and returns one |
2024-06-30 19:25:21 +0200 | <monochrom> | It means `Integer -> (Integer -> Integer)` if you know what I mean. |
2024-06-30 19:25:22 +0200 | <mreh> | functions in haskell are curried |
2024-06-30 19:25:42 +0200 | <mreh> | s/curried/Curried/ |
2024-06-30 19:25:46 +0200 | <Lawrence1erkheim> | mmmm |
2024-06-30 19:26:13 +0200 | <mreh> | :t curry |
2024-06-30 19:26:14 +0200 | <lambdabot> | ((a, b) -> c) -> a -> b -> c |
2024-06-30 19:28:21 +0200 | <Rembane> | Lawrence1erkheim: Does slide 22 make you wiser or more confused wrt functions? |
2024-06-30 19:29:33 +0200 | <mreh> | :t (.) |
2024-06-30 19:29:35 +0200 | <lambdabot> | (b -> c) -> (a -> b) -> a -> c |
2024-06-30 19:30:54 +0200 | <mreh> | I guess the is author is grouping the types according to how they're parsed |
2024-06-30 19:31:11 +0200 | <mreh> | -> is a type constructor |
2024-06-30 19:31:26 +0200 | <monochrom> | Yes sometimes I add redundant parens when teaching. |
2024-06-30 19:31:30 +0200 | <mreh> | :k (->) |
2024-06-30 19:31:31 +0200 | <lambdabot> | * -> * -> * |
2024-06-30 19:32:01 +0200 | <mreh> | that's its kind signature, it takes two types and becomes a third |
2024-06-30 19:32:13 +0200 | <monochrom> | When I teach >>= I am like "foo >>= (\x -> bar >>= (\y -> ...". (I will comment "those parens are optional".) |
2024-06-30 19:32:42 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
2024-06-30 19:32:54 +0200 | mreh | is available for Haskell tutoring |
2024-06-30 19:33:06 +0200 | <mreh> | monochrom: do you do private tutoring? |
2024-06-30 19:33:31 +0200 | <monochrom> | No unless referral from a friend. |
2024-06-30 19:34:29 +0200 | <mreh> | I'm just trying to monetize my addiction |
2024-06-30 19:34:32 +0200 | <monochrom> | Hahaha that means I am like those barristers in some countries. Not allowed to advertise and seek clients. Must sit there wait for solicitors to forward clients. |
2024-06-30 19:35:08 +0200 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
2024-06-30 19:35:21 +0200 | <monochrom> | OK my situation is just because I have already got teaching contracts at uni, so I don't need more monetization. |
2024-06-30 19:35:38 +0200 | <Rembane> | monochrom: Which one of (>>=) and (>=>) is easiest to teach? |
2024-06-30 19:35:52 +0200 | <monochrom> | Plus, no one ever asked me for Haskell tutoring. It's always boring stuff like discrete math and NP-completeness.... |
2024-06-30 19:36:29 +0200 | <monochrom> | I don't know. I stick to >>= because it is more pragmatic and idiomatic. |
2024-06-30 19:36:52 +0200 | pavonia | (~user@user/siracusa) |
2024-06-30 19:37:18 +0200 | <Rembane> | monochrom: Got it! What makes it more idiomatic? |
2024-06-30 19:38:08 +0200 | <monochrom> | Just frequency in code people write. |
2024-06-30 19:40:48 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-06-30 19:40:53 +0200 | dcoutts | (~duncan@ip-185-104-136-57.ptr.icomera.net) |
2024-06-30 19:41:55 +0200 | <monochrom> | But I think I can describe why it's more pragmatic. |
2024-06-30 19:42:15 +0200 | <Rembane> | Sweet! |
2024-06-30 19:42:27 +0200 | nhar | (~noah@99-112-0-41.lightspeed.tukrga.sbcglobal.net) |
2024-06-30 19:43:00 +0200 | <monochrom> | You often need the equivalent of "... >>= \x -> ... x occurs a million times in a million levels of scopes ...". With >>= or do, you just write exactly that directly. |
2024-06-30 19:44:38 +0200 | <Rembane> | That's true, there's a quite straightforward mechanical translation between them that can be done in the head too! |
2024-06-30 19:44:46 +0200 | <monochrom> | With >=>, you have to introduce tuples and then eliminate them. It is indirect, it's an encoding. I am not even commenting on efficiency performance. I am commenting on whether you write what you mean or you write a translation and then the reader has to untranslate. |
2024-06-30 19:45:13 +0200 | <monochrom> | And you know it's true because why else the Arrow people went out of their way to invent do-proc notation. |
2024-06-30 19:45:59 +0200 | <ncf> | tuples? |
2024-06-30 19:46:02 +0200 | <Rembane> | I don't think you have to interact with tuples, let me see... |
2024-06-30 19:46:03 +0200 | <jackdk> | I find that teaching is good for highlighting how `do`-notation works, and the sort of code that people usually write. I find that `(>=>)` is good for highlighting the laws in an obvious way, and highlighting `join` makes it map more cleanly to the traditional definitions. It is often a good exercise to ask people to write each in terms of the other two. |
2024-06-30 19:46:06 +0200 | <Rembane> | :t (>=>) |
2024-06-30 19:46:07 +0200 | <lambdabot> | Monad m => (a -> m b) -> (b -> m c) -> a -> m c |
2024-06-30 19:46:12 +0200 | <probie> | I use `(>>=)` a lot more than `(>=>)`. `(>=>)` is nice for stating the laws because it's pretty much composition, but using it is about as ergonomic as writing all functions point-free |
2024-06-30 19:46:14 +0200 | <Rembane> | Nah, it's composition |
2024-06-30 19:46:17 +0200 | <Rembane> | Monad composition |
2024-06-30 19:46:26 +0200 | <ncf> | the (>=>)/(>>=) debate should be entirely analogous to the (.)/($) debate |
2024-06-30 19:46:40 +0200 | <Rembane> | ncf: Yes! Just add monads! |
2024-06-30 19:46:43 +0200 | <geekosaur> | right, but you more often use pure computations in monadic contexts than you compose monadic operations |
2024-06-30 19:46:52 +0200 | <geekosaur> | (the former being (>>=) |
2024-06-30 19:46:55 +0200 | <geekosaur> | ) |
2024-06-30 19:47:17 +0200 | <Rembane> | It's sadly quite hard to mix (<&>) and (>=>) |
2024-06-30 19:47:33 +0200 | <mreh> | :t (<&>) |
2024-06-30 19:47:35 +0200 | <lambdabot> | Functor f => f a -> (a -> b) -> f b |
2024-06-30 19:47:44 +0200 | <probie> | I'd say it's closer to `(.)`/`(&)` |
2024-06-30 19:47:58 +0200 | <probie> | :t (>>=) |
2024-06-30 19:48:00 +0200 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
2024-06-30 19:48:01 +0200 | <probie> | :t (&) |
2024-06-30 19:48:02 +0200 | <lambdabot> | a -> (a -> b) -> b |
2024-06-30 19:48:06 +0200 | <probie> | :t (=<<) |
2024-06-30 19:48:07 +0200 | <lambdabot> | Monad m => (a -> m b) -> m a -> m b |
2024-06-30 19:48:09 +0200 | <probie> | :t ($) |
2024-06-30 19:48:10 +0200 | <lambdabot> | (a -> b) -> a -> b |
2024-06-30 19:53:16 +0200 | <monochrom> | A while ago I also thought about how to make >>= more theoretically pleasing. I haven't finished, but I think the first step is to flip the argument order, (a -> m b) -> (m a -> m b). Then it is just the unsurprising functor from the Kleisli category back to the original category. |
2024-06-30 19:53:33 +0200 | <Lawrence1erkheim> | Oh my lord computerphile are so goated |
2024-06-30 19:53:41 +0200 | <Lawrence1erkheim> | I get currying now |
2024-06-30 19:53:46 +0200 | <Lawrence1erkheim> | Wait no, let me fix that |
2024-06-30 19:53:51 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-30 19:53:51 +0200 | <Lawrence1erkheim> | I think I get currying now* |
2024-06-30 19:57:36 +0200 | <mreh> | Is there an equivalent to a Map at the type level? |
2024-06-30 19:58:53 +0200 | <nhar> | mreh: i found this: https://hackage.haskell.org/package/type-level-sets-0.7 |
2024-06-30 19:58:57 +0200 | dcoutts | (~duncan@ip-185-104-136-57.ptr.icomera.net) (Ping timeout: 256 seconds) |
2024-06-30 19:59:45 +0200 | <mreh> | google is your friend |
2024-06-30 19:59:49 +0200 | <mreh> | nhar: thx |
2024-06-30 20:00:07 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 260 seconds) |
2024-06-30 20:00:36 +0200 | <nhar> | mreh: np! Not sure how user friendly it is - but if all else fails you could implement your own if your type-level-fu is up to it |
2024-06-30 20:00:43 +0200 | <mreh> | I'm generating GLSL and want to see if I can statically check all the vertex buffers and uniforms are there when it comes to run it |
2024-06-30 20:00:54 +0200 | <mreh> | nhar: I'm working on that |
2024-06-30 20:01:21 +0200 | <mreh> | Thinking With Types is a pretty nice book. |
2024-06-30 20:02:15 +0200 | <nhar> | > I'm generating GLSL... |
2024-06-30 20:02:17 +0200 | <lambdabot> | <hint>:1:23: error: |
2024-06-30 20:02:17 +0200 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
2024-06-30 20:02:23 +0200 | <nhar> | I'm not sure that that is... |
2024-06-30 20:02:33 +0200 | <nhar> | what is GLSL? |
2024-06-30 20:02:52 +0200 | <mreh> | OpenGL Shading Language |
2024-06-30 20:02:54 +0200 | <nhar> | And I thought it was a great read! Super duper helpful |
2024-06-30 20:03:01 +0200 | <Rembane> | > -- Markdown block quotes doesn't really work here. :) |
2024-06-30 20:03:02 +0200 | <lambdabot> | <no location info>: error: |
2024-06-30 20:03:02 +0200 | <lambdabot> | not an expression: ‘-- Markdown block quotes doesn't really work here. :)’ |
2024-06-30 20:03:05 +0200 | <Rembane> | :D |
2024-06-30 20:03:06 +0200 | <mreh> | nhar: has it been helpful? |
2024-06-30 20:03:23 +0200 | <nhar> | Rembane: thnkx! I'm new to IRC and have no clue what I'm doing xD |
2024-06-30 20:03:25 +0200 | <mreh> | I'm hoping I can actually tackle the stuff I want to do with types |
2024-06-30 20:04:39 +0200 | <nhar> | mreh: I've never done graphics before but it does sure sound like a challenge. From my experience I'm typically in the boat of "make your types super strong"...though I wish the UI for typelevel programing in haskell just re-used the value-level syntax... |
2024-06-30 20:04:54 +0200 | <Rembane> | mreh: No worries! We're all here to learn. :D |
2024-06-30 20:05:11 +0200 | <mreh> | nhar: ^ |
2024-06-30 20:05:33 +0200 | <nhar> | has anyone ever heard of co-contextual type systems? https://www.informatik.uni-marburg.de/~seba/publications/cocontextual-type-checking.pdf |
2024-06-30 20:05:43 +0200 | <nhar> | Rembane: thanks! |
2024-06-30 20:06:16 +0200 | <nhar> | I'm learning how to implement a hindley-milner-damas type inference algorithm and it's hurting my brain...thought this might be a simpler solution... |
2024-06-30 20:06:18 +0200 | leah2 | (~leah@vuxu.org) (Ping timeout: 255 seconds) |
2024-06-30 20:06:21 +0200 | <monochrom> | Ugh type-level GLSL haha |
2024-06-30 20:07:42 +0200 | <mreh> | it's only inputs to the pipeline that I'm going to record at the type level |
2024-06-30 20:08:58 +0200 | <mreh> | I might make something a bit more abstract for writing the shader code |
2024-06-30 20:09:28 +0200 | <monochrom> | I have not heard of the name "co-contextual", but Pierce's TaPL definitely presents type inference that way. |
2024-06-30 20:10:15 +0200 | <nhar> | mreh: is GLSL a strongly typed language? |
2024-06-30 20:10:16 +0200 | <monochrom> | Err maybe not, I am not reading carefully. |
2024-06-30 20:11:11 +0200 | <mreh> | nhar: well, there are implicit casts, but the types are enforced by the compiler |
2024-06-30 20:11:27 +0200 | <nhar> | monochrom: yeah. TaPL (types and programing languages?) The typing systems there start with simply-typed lambda calculus and kinda ends at F-w (or F*...can't remember which)...I don't think he covers hindley-milner |
2024-06-30 20:11:51 +0200 | <mreh> | so it's strong but not static |
2024-06-30 20:12:35 +0200 | <nhar> | mreh: oh fun...so you're leveraging the HS type sytem to make sure you're generating GLSL type-correct code? |
2024-06-30 20:13:30 +0200 | <mreh> | nhar: not quite, mainly taking out all the boilerplate of buffering data and then sprinkling some types on top |
2024-06-30 20:15:26 +0200 | <monochrom> | Chapter 22 "type reconstruction" is type inference. |
2024-06-30 20:15:48 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2024-06-30 20:16:27 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds) |
2024-06-30 20:16:29 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 240 seconds) |
2024-06-30 20:17:31 +0200 | <nhar> | mreh: nice! Well, good luck! |
2024-06-30 20:18:19 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-06-30 20:18:38 +0200 | <nhar> | monochrom: I'll have to pull it off the shelf. If you, by chance, remember: does the term-level syntax require type annotations? I'm implementing a language and I'd rather my user's not need type annotations |
2024-06-30 20:18:45 +0200 | Lord_of_Life_ | Lord_of_Life |
2024-06-30 20:18:57 +0200 | <monochrom> | Does not. |
2024-06-30 20:19:01 +0200 | leah2 | (~leah@vuxu.org) |
2024-06-30 20:19:33 +0200 | mreh | (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 268 seconds) |
2024-06-30 20:19:50 +0200 | <nhar> | monochrom: ooo! Ok, I'll have a look. Most of the material on hidnley-milner is a bit obtuse. |
2024-06-30 20:19:53 +0200 | <nhar> | Thanks! |
2024-06-30 20:20:46 +0200 | <monochrom> | I wrote https://www.cs.utoronto.ca/~trebla/CSCC24-2024-Summer/11-type-inference.html for my course. |
2024-06-30 20:21:33 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-06-30 20:24:03 +0200 | <nhar> | monochrom: thanks so much! i'll take a look. My goal is to implement the algorithms using recursion-schemes |
2024-06-30 20:25:14 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-06-30 20:25:19 +0200 | nhar | (~noah@99-112-0-41.lightspeed.tukrga.sbcglobal.net) (Changing host) |
2024-06-30 20:25:19 +0200 | nhar | (~noah@user/nhar) |
2024-06-30 20:27:14 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 20:30:51 +0200 | cheater_ | (~Username@user/cheater) |
2024-06-30 20:33:35 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 264 seconds) |
2024-06-30 20:33:37 +0200 | cheater_ | cheater |
2024-06-30 20:37:28 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-06-30 20:38:03 +0200 | Maxdaman1us | (~Maxdamant@user/maxdamantus) |
2024-06-30 20:39:35 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds) |
2024-06-30 20:40:36 +0200 | TheCoffeMaker_ | (~TheCoffeM@200.114.213.75) |
2024-06-30 20:41:26 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds) |
2024-06-30 20:42:06 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-30 20:43:54 +0200 | nhar | (~noah@user/nhar) (Ping timeout: 268 seconds) |
2024-06-30 20:46:22 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 268 seconds) |
2024-06-30 20:46:41 +0200 | nhar | (~noah@99-112-0-41.lightspeed.tukrga.sbcglobal.net) |
2024-06-30 20:47:16 +0200 | nhar | (~noah@99-112-0-41.lightspeed.tukrga.sbcglobal.net) (Changing host) |
2024-06-30 20:47:16 +0200 | nhar | (~noah@user/nhar) |
2024-06-30 20:49:19 +0200 | <nhar> | monochrom: this is super helpful and well written. Thanks again |
2024-06-30 20:55:17 +0200 | <Lawrence1erkheim> | revisiting haskel after a masters is so good |
2024-06-30 20:55:33 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2024-06-30 20:56:14 +0200 | TheCoffeMaker_ | (~TheCoffeM@200.114.213.75) (Ping timeout: 268 seconds) |
2024-06-30 20:58:53 +0200 | TheCoffeMaker_ | (~TheCoffeM@200.114.213.75) |
2024-06-30 21:00:15 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 264 seconds) |
2024-06-30 21:03:46 +0200 | <nhar> | Lawrence1erkheim: how so? |
2024-06-30 21:05:24 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-06-30 21:05:51 +0200 | KingTrent | (~KingTrent@111.92.44.73) |
2024-06-30 21:06:39 +0200 | KingTrent | (~KingTrent@111.92.44.73) (Leaving) |
2024-06-30 21:15:20 +0200 | TheCoffeMaker_ | (~TheCoffeM@200.114.213.75) (Quit: So long and thanks for all the fish) |
2024-06-30 21:19:17 +0200 | simendsjo | (~user@84.209.170.3) (Ping timeout: 272 seconds) |
2024-06-30 21:24:38 +0200 | Joao[3] | (~Joao003@190.108.99.178) |
2024-06-30 21:26:58 +0200 | mreh | (~matthew@host86-160-168-12.range86-160.btcentralplus.com) |
2024-06-30 21:29:22 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-06-30 21:29:38 +0200 | gmg | (~user@user/gehmehgeh) |
2024-06-30 21:30:26 +0200 | rosco | (~rosco@175.136.155.137) (Quit: Lost terminal) |
2024-06-30 21:37:46 +0200 | joeyadams | (~joeyadams@2603:6010:5100:2ed:af11:237f:c1e1:d41b) (Quit: Leaving) |
2024-06-30 21:37:47 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-06-30 21:42:51 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3215-598d-b470-a88f-97cf-942e.rev.sfr.net) |
2024-06-30 21:46:11 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 264 seconds) |
2024-06-30 21:49:45 +0200 | nhar | (~noah@user/nhar) (Quit: leaving) |
2024-06-30 21:50:59 +0200 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-166.dsl.bell.ca) (Ping timeout: 264 seconds) |
2024-06-30 21:52:47 +0200 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-166.dsl.bell.ca) |
2024-06-30 22:00:30 +0200 | Lawrence1erkheim | (~LBerkheim@user/LawrenceBerkheim) (Quit: leaving) |
2024-06-30 22:02:40 +0200 | phma | (phma@2001:5b0:210b:8948:1a5:8d32:9eb9:6e63) (Read error: Connection reset by peer) |
2024-06-30 22:03:09 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-30 22:03:26 +0200 | phma | (~phma@2001:5b0:210f:618:1292:6c24:64e4:74a) |
2024-06-30 22:06:27 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-06-30 22:08:55 +0200 | Joao[3] | (~Joao003@190.108.99.178) (Quit: Bye!) |
2024-06-30 22:42:54 +0200 | mreh | (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 255 seconds) |
2024-06-30 22:57:39 +0200 | dcoutts | (~duncan@ip-185-104-136-57.ptr.icomera.net) |
2024-06-30 23:02:04 +0200 | dcoutts_ | (~duncan@ip-185-104-136-57.ptr.icomera.net) |
2024-06-30 23:02:42 +0200 | dcoutts | (~duncan@ip-185-104-136-57.ptr.icomera.net) (Ping timeout: 255 seconds) |
2024-06-30 23:05:26 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 268 seconds) |
2024-06-30 23:07:43 +0200 | mikess | (~mikess@user/mikess) |
2024-06-30 23:16:58 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2024-06-30 23:17:27 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-06-30 23:18:28 +0200 | phma | (~phma@2001:5b0:210f:618:1292:6c24:64e4:74a) (Read error: Connection reset by peer) |
2024-06-30 23:19:04 +0200 | infinity0 | (~infinity0@pwned.gg) |
2024-06-30 23:27:08 +0200 | mxs9 | (~mxs@user/mxs) (Quit: The Lounge - https://thelounge.chat) |
2024-06-30 23:30:34 +0200 | phma | (~phma@2001:5b0:215a:ef08:a1:7264:bc90:3efa) |
2024-06-30 23:30:55 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2024-06-30 23:32:40 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Excess Flood) |
2024-06-30 23:33:11 +0200 | aaronv | (~aaronv@user/aaronv) |
2024-06-30 23:34:38 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2024-06-30 23:36:05 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-06-30 23:38:49 +0200 | tzh_ | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-06-30 23:40:35 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Ping timeout: 252 seconds) |
2024-06-30 23:41:39 +0200 | dcoutts_ | (~duncan@ip-185-104-136-57.ptr.icomera.net) (Ping timeout: 264 seconds) |
2024-06-30 23:43:05 +0200 | aaronv | (~aaronv@user/aaronv) (Quit: Leaving) |
2024-06-30 23:48:53 +0200 | tzh_ | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
2024-06-30 23:50:01 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-06-30 23:54:35 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2024-06-30 23:58:39 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |