Newest at the top
2024-10-18 19:23:35 +0200 | BolzmannPain2 | (~BolzmannP@2a0a-a546-bba0-1-bf7d-3159-648d-4f72.ipv6dyn.netcologne.de) |
2024-10-18 19:23:10 +0200 | BolzmannPain | (~BolzmannP@2a0a-a546-bba0-1-bf7d-3159-648d-4f72.ipv6dyn.netcologne.de) (Client Quit) |
2024-10-18 19:23:02 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Ping timeout: 272 seconds) |
2024-10-18 19:22:14 +0200 | BolzmannPain | (~BolzmannP@2a0a-a546-bba0-1-bf7d-3159-648d-4f72.ipv6dyn.netcologne.de) |
2024-10-18 19:20:40 +0200 | jinsun | (~jinsun@user/jinsun) jinsun |
2024-10-18 19:18:09 +0200 | alp | (~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 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2024-10-18 19:03:45 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-18 19:03:17 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-10-18 18:57:45 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-10-18 18:54:34 +0200 | benjaminl | (~benjaminl@user/benjaminl) benjaminl |
2024-10-18 18:54:19 +0200 | benjaminl | (~benjaminl@user/benjaminl) (Read error: Connection reset by peer) |
2024-10-18 18:52:37 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-18 18:52:03 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb56ac585057b67fefcd.dip0.t-ipconnect.de) |
2024-10-18 18:48:40 +0200 | alp | (~alp@2001:861:e3d6:8f80:1f24:b693:8d8:576d) |
2024-10-18 18:47:51 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) LukeHoersten |
2024-10-18 18:47:44 +0200 | euleritian | (~euleritia@ip92340bd4.dynamic.kabel-deutschland.de) |
2024-10-18 18:47:36 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-18 18:47:32 +0200 | euleritian | (~euleritia@dynamic-176-000-151-221.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-10-18 18:46:30 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2024-10-18 18:45:54 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
2024-10-18 18:45:47 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-10-18 18:37:57 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-10-18 18:37:09 +0200 | merijn | (~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 +0200 | glguy | ghoulguy |
2024-10-18 18:32:14 +0200 | merijn | (~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 +0200 | ncf | nods |
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 +0200 | acidjnk_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 +0200 | tromp | (~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? |