From 1dde7d6cf924eedbdc32aabd967dddfff33e720c Mon Sep 17 00:00:00 2001 From: Sergiu Ivanov Date: Mon, 28 Dec 2020 22:53:19 +0100 Subject: [PATCH] manual: Add Technical details. --- manual.scrbl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/manual.scrbl b/manual.scrbl index 47d228f..7d34dbb 100644 --- a/manual.scrbl +++ b/manual.scrbl @@ -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