~ chicken-core (chicken-5) 17484a4013ef4f964110c2a502316ef538a142e0
commit 17484a4013ef4f964110c2a502316ef538a142e0 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Wed Jun 29 05:06:28 2011 -0400 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Wed Jun 29 05:06:28 2011 -0400 amended manual entry for def-spec diff --git a/manual/Types b/manual/Types index 214ff7a9..17d58a09 100644 --- a/manual/Types +++ b/manual/Types @@ -202,6 +202,18 @@ the compilation unit in which they occur and can not be exported. When encountered in the interpreter, {{define-specialization}} does nothing and returns an unspecified result. +Note that the exact order of specialization application is not +specified and nested specializations may result in not narrowing down +the result types to the most specific type, due to the way the +flow-analysis is implemented. It is recommended to not define "chains" +of specializations where one variant of a procedure call is +specialized to another one that is intended to specialize further. + +There is currently no way of ensuring specializations take place. You +can use the {{-debug o}} compiler options to see the total number of +specializations performed on a particular named function call during +compilation. + --- Previous: [[Modules]]Trap