2024/11/05

Newest at the top

2024-11-05 17:32:06 +0100 <Leonard26> I'm fairly new to coding, to be honest now that I'm here I'm thinking it would have been better if I started with C in the first place because the language bindings are such hell sometimes, but at the time I didn't really know where to begin with, so now I'm just trying to finish this project in Haskell and move on :]
2024-11-05 17:29:00 +0100euleritian(~euleritia@77.22.252.56) (Ping timeout: 272 seconds)
2024-11-05 17:26:24 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-05 17:25:02 +0100 <institor> i will shut up now
2024-11-05 17:24:57 +0100 <institor> eh maybe i don't mean pointfree
2024-11-05 17:24:41 +0100 <institor> s/lazy/too lazy
2024-11-05 17:24:34 +0100 <institor> i suppose i am just lazy to find pointfree solutions
2024-11-05 17:24:30 +0100euleritian(~euleritia@77.22.252.56)
2024-11-05 17:24:15 +0100 <institor> in any case i also use it liberally myself
2024-11-05 17:24:13 +0100euleritian(~euleritia@dynamic-176-006-148-028.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-05 17:24:09 +0100 <institor> maybe
2024-11-05 17:23:59 +0100 <merijn> Just not for gaining understanding of what you're doing if you don't already know :)
2024-11-05 17:23:44 +0100 <merijn> I *love* do notation, it's amazing
2024-11-05 17:23:32 +0100 <merijn> I disagree with that, tbh
2024-11-05 17:23:27 +0100 <institor> it suggests there is too much orchestration going on
2024-11-05 17:23:21 +0100 <institor> in fact i usually consider do notation a mild code smell
2024-11-05 17:23:02 +0100 <institor> i agree with merijn
2024-11-05 17:22:51 +0100 <institor> sorry, i don't believe in copy/paste
2024-11-05 17:22:44 +0100 <institor> s/putSTr/putStr
2024-11-05 17:22:40 +0100 <institor> putStr "Enter name: " >> getLine >>= (\name -> putStrLn $ "Hello " ++ name)
2024-11-05 17:22:13 +0100 <merijn> In fact, for educational purposes I would recommend avoiding do notation
2024-11-05 17:22:09 +0100 <institor> desugars to
2024-11-05 17:22:07 +0100 <institor> putStrLn $ "Hello " ++ name
2024-11-05 17:22:00 +0100 <institor> name <- getLine
2024-11-05 17:21:56 +0100 <institor> putSTr "Enter name: "
2024-11-05 17:21:51 +0100 <institor> foo = do
2024-11-05 17:21:47 +0100 <institor> foo :: IO ()
2024-11-05 17:19:25 +0100 <institor> as a synopsis
2024-11-05 17:19:22 +0100 <institor> Leonard26: you would do well to understand how `do` notation desugars into the bind operator
2024-11-05 17:19:02 +0100 <institor> Leonard26: then they are only in scope in `main`
2024-11-05 17:16:09 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
2024-11-05 17:11:54 +0100spew(~spew@155.133.15.183) spew
2024-11-05 17:08:55 +0100alexherbo2(~alexherbo@2a02-8440-3311-b70e-c993-5f39-72e6-f3a6.rev.sfr.net) (Remote host closed the connection)
2024-11-05 17:07:49 +0100ZLima12(~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds)
2024-11-05 17:04:45 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-05 17:04:44 +0100tabaqui(~root@91.73.194.130) tabaqui
2024-11-05 16:59:09 +0100longlongdouble(~longlongd@2405:201:5c16:135:7459:cd00:c885:3805)
2024-11-05 16:58:36 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 272 seconds)
2024-11-05 16:51:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-05 16:47:57 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-11-05 16:45:18 +0100alp(~alp@2001:861:e3d6:8f80:86cd:f9bc:2fcc:950e)
2024-11-05 16:45:02 +0100 <Leonard26> I'll read on about `State` and `ReaderT`, thank you
2024-11-05 16:43:50 +0100 <Leonard26> They are defined in main, row 148 and 156
2024-11-05 16:42:24 +0100 <institor> the names are just not in scope
2024-11-05 16:42:01 +0100 <institor> what are you expecting these to be
2024-11-05 16:41:56 +0100 <institor> on a more concrete level, `source` and `pipeline` simply aren't defined
2024-11-05 16:41:54 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-05 16:41:45 +0100 <institor> gtk on windows huh...
2024-11-05 16:41:11 +0100 <geekosaur> and use `StateT`/`ReaderT` to transparently pass it around as needed
2024-11-05 16:40:45 +0100 <geekosaur> there are ways to do it, but we strongly prefer passing them in either `State` or `ReaderT` with a record of the "environment" (if they're mutable, it's `ReaderT Env IO` with `ENV` being a record of `IORef`s)