beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: https://libera.irclog.whitequark.org/picolisp | Check www.picolisp.com for more information
peterhil has quit [Quit: Must not waste too much time here...]
peterhil has joined #picolisp
<Regenaxer> tankf33der, I think I fixed it
<Regenaxer> Also, 'tryCastle' is simpler (and probably faster) now
<tankf33der> Testing
<Regenaxer> :)
<Regenaxer> Good morning btw!
<tankf33der> morning
<tankf33der> tgz is up to date, right?
<Regenaxer> yes, if I did not forget something again
<Regenaxer> chess.tgz and chess.zip
<tankf33der> new record 22k
<Regenaxer> record in which way?
<tankf33der> puzzles before fail
<Regenaxer> good
<Regenaxer> So all previous tests pass again?
<Regenaxer> (no new bug?)
<tankf33der> new
<tankf33der> now this is a bug
<tankf33der> black king under check
<tankf33der> g4f4
<tankf33der> and engine cant find mate in 1
<tankf33der> f2f3
<Regenaxer> Is it a new test? Or old one failing now?
<Regenaxer> I need to know if I introduced a new bug
<Regenaxer> Rewrote some stuff
<Regenaxer> bbl
<tankf33der> i would say engine never seen this position before
<tankf33der> yesterday was 10k th position
<tankf33der> this one 22k th
<tankf33der> black king make a move g4f4
<tankf33der> engine cant find mate in 1 f2f3
kluk has quit [Quit: Textual IRC Client: www.textualapp.com]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
<Regenaxer> ret
kluk has joined #picolisp
<Regenaxer> tankf33der, I don't get it
<Regenaxer> Black moves g4-h5
<Regenaxer> Why f2f3?
<Regenaxer> Nothing on f2?
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
peterhil has quit [Quit: Must not waste too much time here...]
peterhil has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
<tankf33der> this is initial position, right?
<tankf33der> black king under check
<tankf33der> no, this one more correct
<tankf33der> again:
<tankf33der> black king under check
<tankf33der> puzzle forcing to make a move g4f4
<tankf33der> to make a mate in 1 by pawn f2f3
<Regenaxer> This is completely different from what you sent
<Regenaxer> ah, no, ok
<tankf33der> :)
<Regenaxer> In pilbox it is of course flipped :)
<Regenaxer> So Black moves g4-h5
<tankf33der> no
<tankf33der> i make a move g4f4 manually
<tankf33der> by hands
<Regenaxer> Ah!
<tankf33der> and engine from that point must find mate in 1
<tankf33der> like 22k positions before.
<tankf33der> i always do one move manually and mate in 1 always finds engine.
<tankf33der> it worked 22k times :)
<tankf33der> from 49k
<Regenaxer> I would do I move by hand, then undo onedstep
<Regenaxer> then we have the testing start position
<Regenaxer> But f2-f3 is not mate!
<Regenaxer> Sorry, afp a little
<tankf33der> it is a mate. thats why i send you position on lichess to be sure and for comparisons.
<Regenaxer> lichess does not work in my browser
kluk has quit [Read error: Connection reset by peer]
<tankf33der> this is sad.
kluk has joined #picolisp
<tankf33der> then you must trust me f2f3 is a mate.
<tankf33der> after g4f4 by black king.
kluk has quit [Read error: Connection reset by peer]
<Regenaxer> One by one! You send a position https://picolisp.com/pub/Screenshot_20210603-105719.jpg
<tankf33der> ok
<Regenaxer> Then you move King g4-f4
<tankf33der> black king under check
<tankf33der> right
<Regenaxer> Nothing on f2
<Regenaxer> f2f3?
<tankf33der> sorry
<tankf33der> misstype
<tankf33der> g2g3
<Regenaxer> yes, then en passant capture
<Regenaxer> no mate
kluk has joined #picolisp
<Regenaxer> f3xg2
<tankf33der> en passant is not valid move here
<tankf33der> this is not this case.
<Regenaxer> ok, then *that* is the problem=
<Regenaxer> en passant check is buggy
<Regenaxer> Why don't you say that?
<Regenaxer> en passant did work before I think
<tankf33der> en passant is not valid more here
<Regenaxer> it is valid only after f2-f4
<Regenaxer> yes, that's what I say!
<tankf33der> ok
<tankf33der> good it is clear now. huh
<Regenaxer> Why did you not tell that immediately? :)
<tankf33der> :)
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
olaf_h has joined #picolisp
<olaf_h> hi all, to read picolisp code from a file into a var I do this:
<olaf_h> (let C (str (in "some_pil_code.l" (till NIL T))))
kluk has quit [Read error: Connection reset by peer]
<Regenaxer> hmm, this is not efficient
<olaf_h> kind of usual picolisp way or would one do it in another way?
<olaf_h> ah, Regenaxer, hi
<Regenaxer> (in "file" (make (while (read) (link @]
<Regenaxer> Hi olaf_h! :)
kluk has joined #picolisp
<olaf_h> okay, thank you very much - I'll use that (and will inspect later, how and why it works :-) )
<Regenaxer> ok :)
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
<Regenaxer> Difficult to check in tryPawnCapt
<Regenaxer> All rules are correct, but not enough:
<Regenaxer> (== Pce (car *Moved))
<Regenaxer> (=1 (; Pce cnt))
<Regenaxer> (isa '+Pawn Pce)
<Regenaxer> (n== (: color) (; Pce color))
<Regenaxer> It needs a check that either this first move covered two fields, or that This is two fields above the pawn base line
kluk has quit [Read error: Connection reset by peer]
<Regenaxer> No direct way to express
kluk has joined #picolisp
<Regenaxer> Will think about it later
kluk has quit [Read error: Connection reset by peer]
anddam_ has joined #picolisp
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
aw- has quit [Quit: Leaving.]
kluk has joined #picolisp
emacsomancer has quit [*.net *.split]
casaca has quit [*.net *.split]
anddam has quit [*.net *.split]
cyborg_ar has quit [*.net *.split]
Svjatoslav has quit [*.net *.split]
emacsomancer has joined #picolisp
casaca has joined #picolisp
Svjatoslav has joined #picolisp
cyborg_ar has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
Svjatoslav has quit [Ping timeout: 265 seconds]
Svjatoslav has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
aw- has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
<Regenaxer> OK, got it!
<Regenaxer> En passant is correct now
<Regenaxer> Released
mtsd has joined #picolisp
<tankf33der> Will run asap
<Regenaxer> great
<tankf33der> To be cleared, what did you fixed by this release?
<Regenaxer> The solution was to check also for the row (memq (; Fld2 y) (4 5))
<Regenaxer> Removed color check, is not needed
<Regenaxer> cause pawn with cnt=1 can be only of opposite color
<Regenaxer> BTW, in init I set cnt to 2 instead of 1 for non-T, to be on the safe side
<tankf33der> Ok
<tankf33der> Then i should hit 22k puzzles without problems if no new bugz
<tankf33der> very east to check and fast if depth=1 here
<Regenaxer> :)
<Regenaxer> En passant was always wrong it seems
<Regenaxer> false positive check
mtsd has quit [Quit: Leaving]
<tankf33der> passed 5k and counting
<Regenaxer> 👍
<tankf33der> 20k
<Regenaxer> What does the count exactly mean?
<tankf33der> puzzles without error
<tankf33der> all database is 48k
<Regenaxer> Each puzzle is 1?
<tankf33der> yeap
<Regenaxer> wow
<Regenaxer> So you converted them manually?
<tankf33der> passes 35k
<tankf33der> yeap
<tankf33der> in loop, reading from xz via pipe
<Regenaxer> amazing
<tankf33der> Look at speed for depth=1 on my old cheap laptop
<Regenaxer> yes, scrolling fast
<Regenaxer> afp
<tankf33der> i was wrong all database is 83k puzzles.
<tankf33der> ...
<tankf33der> 83944
<tankf33der> ok
<tankf33der> 83946
<tankf33der> 83945
<tankf33der> All passed.
<tankf33der> Urah
<Regenaxer> coooool!
<tankf33der> will play with mateIn2, lets see.
<tankf33der> afk.
<Regenaxer> cu
peterhil has quit [Ping timeout: 264 seconds]
olaf_h has quit [Quit: Leaving]
peterhil has joined #picolisp
aw- has quit [Quit: Leaving.]
aw- has joined #picolisp
<beneroth> tankf33der, wow, great
<beneroth> tankf33der, maybe this should be an short article on picolisp.com wiki? to showcase picolisp
<Regenaxer> Right!
<Regenaxer> Very cool project
<tankf33der> Engine freely find force line to mate in 2 if i give him first move.
clacke has quit [Read error: Connection reset by peer]
wineroots has quit [Remote host closed the connection]
<tankf33der> Looking forward to test 200k puzzles.
<tankf33der> Already found depth=2 is too small. Running on 3.
<tankf33der> Afk.
<beneroth> awesome
olaf_h has joined #picolisp
olaf_h is now known as olaf
olaf is now known as olaf_h
peterhil has quit [Ping timeout: 244 seconds]
<tankf33der> Regenaxer
<tankf33der> question:
<tankf33der> (main 5 NIL
<tankf33der> (quote
<tankf33der> (d4 (+Black +King)) ) )
<tankf33der> (b1 (+White +King))
<tankf33der> (a2 (+White +Pawn) T)
<tankf33der> if i setup position from README
<tankf33der> can I get information about King on d4?
<Regenaxer> yes, (show (; 'd4 piece))
<Regenaxer> or (show (get 'd4 'piece))
<Regenaxer> BTW, I think instead of
<Regenaxer> $ ./pil chess/cli.l -chess~main +
<Regenaxer> it is better to use
<Regenaxer> $ ./pil chess/cli.l --symbols chess -main +
<tankf33der> debugging mate in two puzzles, works but engines do it another way and thinking how to compare and understand this is real checkmate.
<tankf33der> ok
<Regenaxer> you can then easily pass a file
<Regenaxer> $ ./pil chess/cli.l --symbols chess "file" +
<Regenaxer> file like above
<Regenaxer> OK, I see
<tankf33der> afk.
<Regenaxer> cu
peterhil has joined #picolisp
<tankf33der> what else i could get ?
<tankf33der> is this the only bulk of information?
<Regenaxer> You can access any info
<Regenaxer> in the board
<Regenaxer> or what do you mean?
<tankf33der> for example location of black king?
<tankf33der> how you store check and mate?
<Regenaxer> For the king you must search the grid
<tankf33der> ok
<Regenaxer> for (+Black +King)
<Regenaxer> Check and mate are dynamic tests
<Regenaxer> check is if attackers of the opposite color exist
<Regenaxer> 'whAtt' in case of black king
<Regenaxer> And mate is if it is check and no legal moves
<Regenaxer> (mate T) or (mate NIL)
<Regenaxer> (de mate (Color) (and (inCheck Color) (not (moves Color))))
<Regenaxer> (de inCheck (Color)
<Regenaxer> (if Color (; *BKPos whAtt) (; *WKPos blAtt)) )
olaf_h has quit [Remote host closed the connection]
peterhil has quit [Ping timeout: 252 seconds]
anddam_ is now known as anddam
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
aw- has quit [Quit: Leaving.]
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
aw- has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Client Quit]