2025/12/15

Newest at the top

2025-12-15 23:42:27 +0100 <lambdabot> (Applicative f, Num a) => f a
2025-12-15 23:42:26 +0100 <chromoblob> :t do pure 5
2025-12-15 23:42:26 +0100 <tomsmeding> 'do' is syntactic sugar: 'do a; b' ~> 'a >> b'; 'do x <- a; b' ~> 'a >>= \x -> b'; 'do let { x = a }; b' ~> 'let x = a in b'; 'do a' ~> 'a'
2025-12-15 23:42:20 +0100michalz(~michalz@185.246.207.197) (Remote host closed the connection)
2025-12-15 23:42:16 +0100 <davean> () is a value and nothing in your do interacts with it
2025-12-15 23:42:03 +0100 <davean> do () just becomes ()
2025-12-15 23:41:55 +0100 <davean> Do desugars procedurally, via monad functions, or applicitive, none of those are used so the resultant code has no issues
2025-12-15 23:41:17 +0100 <davean> Its not making it do behave so, its what do is.
2025-12-15 23:40:57 +0100 <chromoblob> so, what can i do with this? why make `do` behave so?
2025-12-15 23:40:55 +0100 <lambdabot> ()
2025-12-15 23:40:55 +0100 <davean> :t do ();
2025-12-15 23:40:18 +0100 <lambdabot> • In a stmt of a 'do' block: ()
2025-12-15 23:40:18 +0100 <lambdabot> • Couldn't match expected type ‘m a0’ with actual type ‘()’
2025-12-15 23:40:18 +0100 <lambdabot> error: [GHC-83865]
2025-12-15 23:40:17 +0100 <chromoblob> :t do (); ()
2025-12-15 23:40:13 +0100 <davean> Yes, because that *does* entail Monad because you used return
2025-12-15 23:39:35 +0100 <lambdabot> • In the expression: return 5 :: ()
2025-12-15 23:39:35 +0100 <lambdabot> • Couldn't match expected type ‘()’ with actual type ‘m0 a0’
2025-12-15 23:39:35 +0100 <lambdabot> error: [GHC-83865]
2025-12-15 23:39:34 +0100 <chromoblob> :t return 5 :: ()
2025-12-15 23:39:30 +0100 <davean> Thus nothing contradicts it
2025-12-15 23:39:15 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 240 seconds)
2025-12-15 23:38:55 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 240 seconds)
2025-12-15 23:38:48 +0100 <davean> chromoblob: that do uses no nonactic things, so it entails no monad class functions
2025-12-15 23:33:21 +0100milan2(~milan@88.212.61.169) (Quit: WeeChat 4.5.2)
2025-12-15 23:30:47 +0100Googulator(~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-15 23:30:44 +0100Googulator85(~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-15 23:29:23 +0100 <lambdabot> ()
2025-12-15 23:29:22 +0100 <chromoblob> :t ()
2025-12-15 23:29:02 +0100 <chromoblob> c_wraith: how is () a Monad? there is no type parameter in (), and a monad must have a parameter
2025-12-15 23:15:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-15 23:08:16 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-15 23:07:41 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-15 23:06:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-15 23:06:08 +0100Googulator21Googulator
2025-12-15 23:03:45 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-15 23:03:06 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-15 23:00:50 +0100Googulator21(~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-15 23:00:31 +0100Googulator21(~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-15 22:55:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-15 22:50:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-15 22:40:55 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-15 22:39:37 +0100 <c_wraith> gentauro: you genually need monadic parsing when the source is context-sensitive. Applicative + Alternative doesn't give you a way to choose parsers based on a value previously parsed.
2025-12-15 22:39:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-15 22:38:10 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-15 22:34:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-12-15 22:34:43 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-12-15 22:34:04 +0100takuan(~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-12-15 22:32:41 +0100myme(~myme@2a01:799:d5e:5f00:5e12:8326:f92:1a30) myme
2025-12-15 22:31:34 +0100myme(~myme@2a01:799:d5e:5f00:e46f:4150:c7c:78b) (Ping timeout: 260 seconds)