2024/10/18

Newest at the top

2024-10-18 19:20:40 +0200jinsun(~jinsun@user/jinsun) jinsun
2024-10-18 19:18:09 +0200alp(~alp@2001:861:e3d6:8f80:1f24:b693:8d8:576d) (Ping timeout: 248 seconds)
2024-10-18 19:15:30 +0200 <int-e> (or pawn advancement)
2024-10-18 19:15:22 +0200 <int-e> (well, history since the last capture or promotion, but still)
2024-10-18 19:15:02 +0200 <int-e> so yeah that's pretty awful
2024-10-18 19:14:53 +0200 <int-e> well for that you really need the full history
2024-10-18 19:14:35 +0200 <EvanR> three fold repetition :scream:
2024-10-18 19:13:52 +0200 <int-e> (i.e. it already has all the legs and appendices you're talking about)
2024-10-18 19:12:51 +0200 <int-e> https://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation may be useful (it encodes all the state you need except previous positions for three-fold repetition)
2024-10-18 19:12:25 +0200 <EvanR> this is turning into a history instead of a state
2024-10-18 19:12:12 +0200 <EvanR> en passant is possible when a pawn "bolted" 2 spaces on the previous move
2024-10-18 19:11:45 +0200 <EvanR> can black castle? since this is usually expressed as historical, gotta keep a flag in the board state. But wait they might be able to castle on one side but not the other because a rook moved
2024-10-18 19:10:59 +0200 <EvanR> but to get this to work the board type is growing some serious legs xD
2024-10-18 19:10:43 +0200 <EvanR> I thought chess would simply be a data type for a "board state" and a datatype for "moves" which bring you from one board to another, and a game is a chain of moves, or chain of boards
2024-10-18 19:08:01 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-10-18 19:03:45 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-18 19:03:17 +0200JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-10-18 18:57:45 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-10-18 18:54:34 +0200benjaminl(~benjaminl@user/benjaminl) benjaminl
2024-10-18 18:54:19 +0200benjaminl(~benjaminl@user/benjaminl) (Read error: Connection reset by peer)
2024-10-18 18:52:37 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-18 18:52:03 +0200acidjnk_new(~acidjnk@p200300d6e72cfb56ac585057b67fefcd.dip0.t-ipconnect.de)
2024-10-18 18:48:40 +0200alp(~alp@2001:861:e3d6:8f80:1f24:b693:8d8:576d)
2024-10-18 18:47:51 +0200LukeHoersten(~LukeHoers@user/lukehoersten) LukeHoersten
2024-10-18 18:47:44 +0200euleritian(~euleritia@ip92340bd4.dynamic.kabel-deutschland.de)
2024-10-18 18:47:36 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-18 18:47:32 +0200euleritian(~euleritia@dynamic-176-000-151-221.176.0.pool.telefonica.de) (Read error: Connection reset by peer)
2024-10-18 18:46:30 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-10-18 18:45:54 +0200vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2024-10-18 18:45:47 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-10-18 18:37:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-18 18:37:09 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-18 18:36:10 +0200 <c_wraith> Is the whole operation a Y -> Y? a Y -> ([X], Y)?
2024-10-18 18:34:30 +0200glguyghoulguy
2024-10-18 18:32:14 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-18 18:31:25 +0200 <c_wraith> Like.. Do you want to map over every value and only keep the changes that pass the filter? Do you want to remove elements from the Y that fail the filter?
2024-10-18 18:31:13 +0200ncfnods
2024-10-18 18:30:30 +0200 <c_wraith> that doesn't sound right to me, but I think we're interpreting the problem differently. the specification is really vague
2024-10-18 18:28:55 +0200acidjnk_new(~acidjnk@p200300d6e72cfb56e90e8e53bb556001.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-10-18 18:27:27 +0200 <ncf> so you can map/filter/whatever over that
2024-10-18 18:27:10 +0200 <ncf> then you should have a lens or a traversal with target type [Whatever]
2024-10-18 18:26:06 +0200 <haskellbridge> <maralorn> ncf: Yes.
2024-10-18 18:23:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-18 18:22:38 +0200 <c_wraith> a common pattern with iterate is to use it on (state, value) tuples then map snd to get rid of the states
2024-10-18 18:22:15 +0200 <EvanR> if so, haskell at its finest
2024-10-18 18:21:41 +0200 <EvanR> you could just map the sequence of states?
2024-10-18 18:21:29 +0200billchenchina-(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection)
2024-10-18 18:21:27 +0200 <EvanR> quite possible
2024-10-18 18:21:24 +0200 <c_wraith> or do you want a separate state value that's passed along?
2024-10-18 18:21:12 +0200 <lambdabot> (a -> a) -> a -> [a]