1. 19 Dec, 2019 3 commits
    • Vivien Kraus's avatar
      Use the real cards · aec4631c
      Vivien Kraus authored
      Or at least, an early version that is in the public domain.
      aec4631c
    • Vivien Kraus's avatar
      Add a Relax-NG schema for tarot · ff802bac
      Vivien Kraus authored
      ff802bac
    • Vivien Kraus's avatar
      Introduce an abstraction over the AI · 9b6fb5b6
      Vivien Kraus authored
      The =TarotAi= module now factors in all the boring stuff around
      applying the AI, so we can now remove the code to compute the
      strongest player in the features module, and integrate the stacking
      predictor and the perceptron predictor directly in this framework, yet
      again removing duplicated code to compute the best event (for
      instance).
      9b6fb5b6
  2. 29 Nov, 2019 3 commits
  3. 13 Nov, 2019 1 commit
    • Vivien Kraus's avatar
      Remove the "safe" target · 9c592dcc
      Vivien Kraus authored
      There are some parts of the build system that are recursive.  For one,
      the gnulib layer and the gettext build infrastructure.  However, we
      also need to recursively build the library to generate the binding
      code, and we need to recursively build all programs in order to get
      their =--help= output for /help2man/.
      
      For these reasons, it is impossible to go without a recursive build
      system.
      
      This poses an unsolved problem.  Recursive builds and multi-process
      builds do not go well together, because each recursive branch does not
      know what the other branch is touching.  So I had created a list of
      things to get right in that order.  Each item of that list could be
      built with multiple jobs, but the steps had to be taken in order.  I
      had named this list "safe", because it ensured that there would be no
      recursive call (except the safe target itself that would spawn all
      tasks).
      
      However, this is a little troubling because bootstrapping the project
      with multiple jobs meant to run =autogen.sh=, then =configure=, then
      =make safe=, then =make=.
      
      I have found that Automake provides /subdirs/, which already
      implements what I was trying to do.  So there is a subdir for each
      step.
      9c592dcc
  4. 01 Nov, 2019 2 commits
  5. 27 Oct, 2019 1 commit
    • Vivien Kraus's avatar
      Generate the bindings directly in C · 697bf715
      Vivien Kraus authored
      The other options were ot generate scheme code, or use scheme macros
      to generate it at macro expand time.
      
      The latter is not possible in r7rs-small, because syntax-case has been
      removed.  So I will not go down this road.
      
      The former is quite awkward, because we constantly need to jump in the
      XML document in order to get the C type names of things.
      
      So for now everything is XSLT+C.
      697bf715
  6. 26 Oct, 2019 1 commit
  7. 11 Oct, 2019 2 commits
  8. 10 Oct, 2019 1 commit
  9. 04 Oct, 2019 1 commit
    • Vivien Kraus's avatar
      Implement the duplicaté API · 578d3b9f
      Vivien Kraus authored
      I have just added three functions to prepare the deal, bids and call
      for later.  It is a little unfortunate that these configurations
      cannot be tested ahead of time, but everything has been documented.
      578d3b9f
  10. 28 Sep, 2019 1 commit
  11. 23 Sep, 2019 1 commit
    • Vivien Kraus's avatar
      Fix some annotations · 048bed52
      Vivien Kraus authored
      When trying to get the guile bindings work, I noticed some API
      endpoints were not understood correctly by the introspection scanner.
      048bed52
  12. 21 Sep, 2019 1 commit
  13. 18 Sep, 2019 1 commit
  14. 08 Sep, 2019 1 commit
  15. 01 Sep, 2019 1 commit
  16. 31 Aug, 2019 1 commit
  17. 28 Aug, 2019 1 commit
    • Vivien Kraus's avatar
      Implement the tarot-cnn-features program · 813987bf
      Vivien Kraus authored
      This program reads a game and prints the tensor-shaped features as a
      CSV row.  It prints a row for each step of the game when we can
      analyze the decision from the next player.
      813987bf
  18. 25 Aug, 2019 3 commits
  19. 24 Aug, 2019 4 commits
  20. 06 Dec, 2018 1 commit
  21. 07 Nov, 2018 1 commit
  22. 05 Oct, 2018 1 commit
  23. 29 Aug, 2018 1 commit
  24. 22 Aug, 2018 1 commit
  25. 21 Aug, 2018 1 commit
  26. 20 Aug, 2018 1 commit
  27. 12 Aug, 2018 1 commit
  28. 11 Aug, 2018 1 commit
  29. 09 Aug, 2018 1 commit