From f6d554063e66c517552d410e58ff8744e475c125 Mon Sep 17 00:00:00 2001 From: Sergiu Ivanov Date: Thu, 9 Dec 2021 13:53:29 +0100 Subject: [PATCH] Track dds.org. --- dds.org | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 dds.org diff --git a/dds.org b/dds.org new file mode 100644 index 0000000..690d135 --- /dev/null +++ b/dds.org @@ -0,0 +1,121 @@ +#+TITLE: Random notes about =dds= + +* Building and installing + Running the following: + + #+BEGIN_SRC shell +raco pkg install + #+END_SRC + + in the =dds= directory will build and install the dependencies and + then link the directory as a package. + +* Building the Scribble documentation + To build the Scribble documentation, run the following: + + #+BEGIN_SRC shell +raco setup -l dds + #+END_SRC + + I think that the =dds= package must already be installed. + +* Racket Package catalog bug <2020-11-26 Thu> + =raco pkg= had a bug which caused it to fail with the following + error: + + #+BEGIN_EXAMPLE +Resolving "graph-lib" via https://download.racket-lang.org/releases/7.9/catalog/ +.raco-wrapped pkg install: cannot find package on catalogs + package: graph-lib + #+END_EXAMPLE + + The fix coming from [[https://github.com/mbutterick/pollen/issues/239][here]] was to do the following: + #+BEGIN_SRC shell +raco pkg config --set catalogs https://download.racket-lang.org/releases/7.9/catalog/ "" + #+END_SRC + + It looks like it make =raco pkg= redetect the proper URLs for Racket + package catalogs. + +* Roadmap :old: + I moved the roadmap to [[file:README.org][README]]. + +** DONE Write a function to look the symbol at point [3/3] + - [X] add a racket-helpdesk-online + - [X] add keyboard shortcuts to key maps + - [X] check/add documentation + +** DONE Finish the [[file:example/example.org][example]] on random networks +** DONE Fix the generation of interaction graphs +** DONE Setup =dds= as a package + - https://blog.racket-lang.org/2017/10/tutorial-creating-a-package.html +** DONE Make =raco test= play nicely with my tests +** DONE Replace =let= with =test-begin= in tests +** DONE Initialise the random seed in each =test-case= + As of [2020-05-24 Sun], I have the impression that the seed is not + globally set. + +** DONE Factor out the code for functions +** DONE Move =boolean-power= and =boolean-power-stream= to =utils= +** DONE Tabulate multiple functions with the same domain +** DONE Think about interactions between Racket code blocks + When a code block calls another code block, the result seems to be + dumped to a string. This means that I cannot directly use the + result from calling a block, and that I have to do some writing and + reading between the two. + + Check [[/home/scolobb/Candies/Science/People/Ion/rs-control/rs-control.org][rs-control.org]] to see what quick fixes I did recently. +** DONE Make shortcuts for TBF/TBN and SBF/SBN +** DONE Implement drawing the interaction graphs of TBN +** DONE Implement truth tables grouped by Nai + Number of activated inputs in the Boolean input vectors. Mainly to + illustrate how abstract representation works and breaks. + +** DONE Review =build-interactive-process-graph= + This function includes context sequences in states to differentiate + between the same states appearing at different steps of the + interactive process. In fact, I don't care about that at all, + because if I want to have the complete interactive process, I can + just use =build-interactive-process=. + + /Comment on <2020-11-09 Mon>/: Yeah, but I need the context + sequence in the state to be able to define the dynamics properly. + This actually shows that the context sequence must be part of the + state if we want to capture reaction systems in the framework of + discrete dynamical systems. + + Secondly, =build-interactive-process-graph= assumes that the input + context sequence is a /prefix/ of an infinite context sequence in + which the majority of contexts are empty. This is a rather weird + assumption. + + Because of these two aspects, I found that this function was rather + useless in working with actual reaction systems, in particular in + my collaboration with Ion on control of reaction systems. + +** TODO Review =build-interaction-graph= + Check that the definition of this function really follows the + definition of the interaction graph. Pay attention to the + existential vs. universal quantifiers. + +** TODO Write the docs properly with Scribble + https://docs.racket-lang.org/scribble/srcdoc.html + +** TODO Submit =update-graph= to =stchang= +** TODO Implement the BN \to RS conversion +** TODO Implement the minimisation of TBF/SBF +** TODO Contribute to Racket + - Make sequence-filter allow multivalued sequences, provided the + arity of the predicate is consistent with the arity of + the sequence. + - Add a sequence->hash function that accepts a multivalued + sequence of keys and values (exactly like what in-hash produces) + and copies them into a hash table. + +** TODO Test network inference with [[https://docs.racket-lang.org/racklog/index.html][Racklog]] +* Local Variables :noexport: + # Local Variables: + # eval: (auto-fill-mode) + # ispell-local-dictionary: "en" + # org-link-file-path-type: relative + # End: