2026/06/17

Newest at the top

2026-06-17 14:48:33 +0000 <merijn> But in practice I've rarely found that to come up
2026-06-17 14:48:08 +0000 <merijn> vms14: tbh, you probably *do* have to do something like that in most cases
2026-06-17 14:47:51 +0000s00pcan(~s00pcan@71.214.104.207) s00pcan
2026-06-17 14:47:34 +0000 <merijn> vms14: Do you have some examples of type errors that you find confusing?
2026-06-17 14:46:41 +0000 <davean> Even if you did, I don't see the worry about wrapping and unwrapping. I'm going to stop here though. I don't think I have the time to understand
2026-06-17 14:42:32 +0000 <vms14> davean: i thought i had to do something like data StackElement = SInt Int | SChar Char ... xd
2026-06-17 14:41:42 +0000 <merijn> vms14: Those are good ways to get even more confusing type errors
2026-06-17 14:41:29 +0000 <merijn> vms14: tbf, that's probably accurate for stuff like GADTs/ExistentialQuantification
2026-06-17 14:41:21 +0000 <vms14> i feel like it argues with me and i don't understand the type errors
2026-06-17 14:41:07 +0000s00pcan(~s00pcan@71.214.104.207) (Ping timeout: 265 seconds)
2026-06-17 14:41:03 +0000 <vms14> If you're a beginner Haskell programmer who feels like GHC argues with you too often, who often finds type errors inscrutable, then this book is probably not for you. Not yet
2026-06-17 14:40:54 +0000 <vms14> btw i get why i didn't keep reading the book, the book itself told em to fuck off
2026-06-17 14:40:35 +0000 <vms14> davean: because i did not know of any other options
2026-06-17 14:37:41 +0000 <davean> vms14: why did you think you'd need template haskell and boilerplate wrapping and unwrapping?
2026-06-17 14:37:37 +0000 <vms14> also the book is relatively short, 200 pages
2026-06-17 14:36:51 +0000 <vms14> jaror: there is a section in that book about gadts and right after it heterogeneous lists in page 55
2026-06-17 14:31:35 +0000 <vms14> i thought i would have to rely on template haskell to generate boilerplate code for wrapping and unwrapping
2026-06-17 14:31:23 +0000 <lambdabot> IO ()
2026-06-17 14:31:22 +0000 <mauke> :t interact $ unlines . words
2026-06-17 14:28:26 +0000 <merijn> vms14: They're neat tricks that (when used with some restraint) can help a lot, but easier to wrap your head around when simpler stuff is more natural
2026-06-17 14:25:58 +0000 <vms14> thing*
2026-06-17 14:25:49 +0000 <vms14> the only think i can do is a hello world xde
2026-06-17 14:25:17 +0000 <vms14> i was considering that book because i thought mastering the type system of haskell would be good, but i am also impatient to start doing things with haskell
2026-06-17 14:23:27 +0000 <jaror> https://thinkingwithtypes.com/
2026-06-17 14:23:25 +0000 <jaror> I haven't read it but maybe Sandy Maguire's "thinking with types" covers this?
2026-06-17 14:22:31 +0000 <jaror> To be able to use lists at the type level
2026-06-17 14:22:09 +0000 <jaror> You also need DataKinds
2026-06-17 14:21:57 +0000 <vms14> ty
2026-06-17 14:21:44 +0000jgee242(~jayanth@static-98-115-128-109.phlapa.fios.verizon.net)
2026-06-17 14:21:37 +0000 <vms14> but seems to be what i want
2026-06-17 14:21:25 +0000 <vms14> i've read gadts many times but ignored it like "that will come later"
2026-06-17 14:21:18 +0000jayanth(~jayanth@static-98-115-128-109.phlapa.fios.verizon.net) (#haskell)
2026-06-17 14:21:06 +0000 <vms14> yeah i was asking google ai xd
2026-06-17 14:21:00 +0000 <vms14> Generalised Algebraic Data Types
2026-06-17 14:20:17 +0000mauke(~mauke@user/mauke) mauke
2026-06-17 14:20:11 +0000 <merijn> vms14: Because it's not really introductory level, since you need either GADTs or ExistentialQuantification extension :)
2026-06-17 14:19:45 +0000preflex(~preflex@user/mauke/bot/preflex) preflex
2026-06-17 14:18:09 +0000 <vms14> where can i read about this? i didn't see that in introductory books
2026-06-17 14:17:43 +0000 <vms14> sorry i fell asleep yesterday
2026-06-17 14:17:32 +0000 <vms14> seens to be exactly what i wanted though
2026-06-17 14:17:31 +0000preflex(~preflex@user/mauke/bot/preflex) (Read error: Connection reset by peer)
2026-06-17 14:17:17 +0000 <vms14> Leary: :0 that's awesome, but i do not understand it
2026-06-17 14:16:43 +0000mauke(~mauke@user/mauke) (Remote host closed the connection)
2026-06-17 14:16:40 +0000noctux(~noctux@user/noctux) noctux
2026-06-17 14:15:55 +0000noctux(~noctux@user/noctux) (Ping timeout: 264 seconds)
2026-06-17 13:44:03 +0000Axma13884(~Axman6@user/axman6) (Ping timeout: 253 seconds)
2026-06-17 13:43:33 +0000nyc(~nyc@user/nyc) nyc
2026-06-17 13:41:58 +0000Axman6(~Axman6@user/axman6) Axman6
2026-06-17 13:36:34 +0000spew(~spew@user/spew) (Quit: nyaa~)
2026-06-17 13:30:55 +0000dtman34(~dtman34@c-73-242-68-179.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)