README.org: Update the roadmap.
This commit is contained in:
parent
485aa4ca95
commit
c7912705ca
1 changed files with 28 additions and 21 deletions
49
README.org
49
README.org
|
@ -34,36 +34,43 @@ interaction with Org-mode.
|
|||
that I work on the subsequent items decreases with their position
|
||||
in the list.
|
||||
|
||||
*** TODO Think about /not/ using generics for the dynamics
|
||||
Typed Racket can now type classes, and I can implement the idea
|
||||
from the module =generics= as a class. However, I got this advice
|
||||
on Racket Users group:
|
||||
|
||||
#+BEGIN_QUOTE
|
||||
If you don't need to support arbitrary user implementations, you
|
||||
can avoid generics and classes altogether and use structs whose
|
||||
fields contain functions.
|
||||
#+END_QUOTE
|
||||
|
||||
I will need to think about simpler implementations of the
|
||||
interface to dynamics, which should also be simpler to type.
|
||||
|
||||
*** TODO Convert =dds= to Typed Racket
|
||||
This will necessarily lead to updates in the comments, which
|
||||
should be rewritten with Scribble.
|
||||
Rewriting =dds= with Typed Racket will be a major refactoring,
|
||||
consisting in the following 3 phases which will happen more or
|
||||
less in parallel:
|
||||
|
||||
I will do the conversion in the directory =typed/=, by
|
||||
incrementally translating existing modules, definition
|
||||
by definition.
|
||||
- define types, add type signatures, add types for functions
|
||||
I import from =graph=;
|
||||
- transfer the comments from the source files to Scribble
|
||||
documentation;
|
||||
- redefine the generic interface for dynamics, which is currently
|
||||
in =generics=.
|
||||
|
||||
The order I will convert the modules:
|
||||
I plan to implement the new dynamics interface as a classes, since
|
||||
Typed Racket can now type classes. I didn't really like generics:
|
||||
they are quite cumbersome, and I think I can do more with classes.
|
||||
|
||||
People on Racket Users suggested using structures with fields
|
||||
containing functions, but it does not seem to get me to my goal of
|
||||
having type-level methods/functions.
|
||||
|
||||
The order in which I will convert the modules:
|
||||
|
||||
1. =utils=
|
||||
2. =functions=
|
||||
3. the module defining the interface to dynamics (currently =generics=)
|
||||
3. =dynamics= (currently =generics=)
|
||||
4. =networks=
|
||||
5. =rs=
|
||||
|
||||
This is how I will convert a module =A=:
|
||||
|
||||
1. Create a copy =A-untyped.rkt=.
|
||||
2. Empty =A.rkt=.
|
||||
3. Transfer the definitions from =A-untyped.rkt= to =A.rkt= one by
|
||||
one, adding the necessary types, signatures, and typed imports
|
||||
as I go.
|
||||
4. When done, remove =A-untyped.rkt=.
|
||||
|
||||
*** TODO Split =networks= into general networks and threshold Boolean networks
|
||||
*** TODO Submit =update-graph= to =stchang=
|
||||
*** TODO Implement the BN \to RS conversion
|
||||
|
|
Loading…
Reference in a new issue