2024/12/28

Newest at the top

2024-12-28 07:37:10 +0100 <c_wraith> yeah, flip that to *>
2024-12-28 07:36:57 +0100 <fp> number <- optional string "#d" <* someTill decimalDigit (lookAhead delimiter)
2024-12-28 07:36:41 +0100 <haskellbridge> <maerwald> show the real code
2024-12-28 07:36:36 +0100 <c_wraith> What are you doing to make it not?
2024-12-28 07:36:27 +0100 <c_wraith> optional returns a parser.
2024-12-28 07:36:26 +0100 <haskellbridge> <maerwald> yes
2024-12-28 07:36:12 +0100 <fp> looking at the type signature of (*>), I think both sides need to be of the same monad?
2024-12-28 07:35:46 +0100 <fp> That still gives me a type error on the left side that it's Maybe and not Parser
2024-12-28 07:35:17 +0100 <haskellbridge> <maerwald> The effect of a parser is consuming input or failing... a maybe parser never fails (but may backtrack, depending on how you defined it). You only care about the effect here, but not the value (Maybe). That's what (*>) does.
2024-12-28 07:32:07 +0100 <c_wraith> err. *>
2024-12-28 07:31:53 +0100 <c_wraith> optional (chunk "#d") <* some (satisfy isDigit)
2024-12-28 07:30:35 +0100 <fp> or is that what you're saying?
2024-12-28 07:29:53 +0100 <fp> So I don't want for decimalParser to be Maybe, like the grammar I want is like <decimal> ::= "#d"? [0-9]+, so I just want something like the ?
2024-12-28 07:28:02 +0100 <haskellbridge> <maerwald> the effect of a parser is that it consumes input (or not)
2024-12-28 07:27:22 +0100 <c_wraith> In particular, both (*>) and (<*) do just "throw away" things in exactly the way you'd want. (You use *> more standalone, <* more in applicative chains)
2024-12-28 07:27:14 +0100 <haskellbridge> <maerwald> you run both effects, but discard the left value
2024-12-28 07:27:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-28 07:27:01 +0100 <haskellbridge> <maerwald> (*>) :: f a -> f b -> f b
2024-12-28 07:26:24 +0100 <haskellbridge> <maerwald> :t (*>)
2024-12-28 07:25:30 +0100 <haskellbridge> <maerwald> maybeParser *> decimalParser
2024-12-28 07:23:48 +0100 <fp> How, with megaparsec, does one represent an optional parser? The problem I'm solving is that I have a decimal literal, which can be like =1234= or =#d1234=, so the =#d= is optional and I don't care about the value. =optional= exists, but it creates a =Maybe= which I can't just throw away its value
2024-12-28 07:22:43 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-28 07:22:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 07:18:22 +0100notzmv(~umar@user/notzmv) (Ping timeout: 265 seconds)
2024-12-28 07:18:19 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-28 07:08:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-28 07:03:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 06:58:04 +0100tnt2tnt1
2024-12-28 06:58:04 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 265 seconds)
2024-12-28 06:56:26 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2024-12-28 06:53:26 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2024-12-28 06:53:06 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
2024-12-28 06:50:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-28 06:45:57 +0100ycp(~znc@user/dragestil) dragestil
2024-12-28 06:45:29 +0100ycp(~znc@user/dragestil) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2024-12-28 06:44:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 06:39:01 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2024-12-28 06:38:30 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-12-28 06:37:00 +0100notzmv(~umar@user/notzmv) notzmv
2024-12-28 06:31:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-28 06:30:57 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-28 06:27:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 06:20:34 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-28 06:19:24 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2024-12-28 06:17:07 +0100Feuermagier(~Feuermagi@user/feuermagier) (Quit: Leaving)
2024-12-28 06:16:52 +0100remedan_(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2024-12-28 06:15:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-28 06:11:12 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-28 06:10:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 06:08:31 +0100 <homo> yeah, so much different from the rest :)