dds/dds.org

128 lines
5 KiB
Org Mode

#+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
The =dds= package must already be installed.
Execute the following code block to open the documentation in the
last visited browser window.
#+BEGIN_SRC elisp :results silent
(shell-command "firefox doc/dds/index.html")
#+END_SRC
* 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: