manual: Add Technical details.

This commit is contained in:
Sergiu Ivanov 2020-12-28 22:53:19 +01:00
parent b89fc2d83a
commit 1dde7d6cf9
1 changed files with 14 additions and 0 deletions

View File

@ -1,5 +1,7 @@
#lang scribble/manual
@(require (for-label (only-in typed/racket require/typed require/typed/provide)))
@title{Typed Interface to the Generic Graph Library}
@author[@author+email["Sergiu Ivanov" "sivanov@colimite.fr"]]
@ -33,6 +35,18 @@ a different platform.
Do feel free to submit patches to me by E-mail: I will try my best to review
and apply them within a reasonable time frame.
@section{Technical details}
Typed Racket includes very useful primitives @racket[require/typed] and
@racket[require/typed/provide]. However, we cannot use this technique with the
graph library. The solution which works consists in wrapping the opaque graph
structure into another structure, which will therefore be a uniform container
for all kinds of graph implementations provided by the library.
This solution comes from Alex Knauth's answer
@hyperlink["https://stackoverflow.com/a/65416020"]{answer on Stack Overflow}.
This page also contains a technical explanation of the issue.
@section{License}
Like the generic graph library, this library is licensed under the Apache