Skip to content

Commit 9829988

Browse files
committed
[doc] add asdf dependency graphs
1 parent 071c617 commit 9829988

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

README.org

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,17 @@ The library primarily aims to provide a function type to dispatch on types rathe
1313

1414
Support for optional and keyword arguments, as well as heterogeneous lambda lists is also provided.
1515

16-
Load the asdf system =polymorphic-functions-lite= if you are happy with run-time dispatch. The system =polymorphic-functions= provides optional compile-time dispatch through the use of CLTL2 through [[https://github.com/alex-gutev/cl-environments][cl-environments]]. See below for details. The newly added (= unstable) [[#specializing][specializing]]
17-
macro also provides runtime numcl/julia-like JAOT dispatch analogous to [[https://github.com/numcl/specialized-function][specialized-function]].
16+
Load the asdf system =polymorphic-functions-lite= if you are happy with run-time dispatch. It also has lesser dependencies, so more sustainable in the long term.
17+
18+
#+CAPTION: System dependency graph for polymorphic-functions-lite
19+
#+ATTR_HTML: :width 360px
20+
[[./pf-lite.png]]
21+
22+
The system =polymorphic-functions= provides optional compile-time dispatch through the use of CLTL2 through [[https://github.com/alex-gutev/cl-environments][cl-environments]]. See below for details. The newly added (= unstable) [[#specializing][specializing]] macro also provides runtime numcl/julia-like JAOT dispatch analogous to [[https://github.com/numcl/specialized-function][specialized-function]].
23+
24+
#+CAPTION: System dependency graph for polymorphic-functions (non lite)
25+
#+ATTR_HTML: :width 360px
26+
[[./pf.png]]
1827

1928
Continuous Integration through Github Actions tests this library on SBCL, CCL, and ECL. The library was initially put to use at [[https://github.com/digikar99/numericals/][numericals]], but numericals has subsequently moved to the polymorphic-functions variant at [[https://gitlab.com/digikar/peltadot/][peltadot]]. This library continues to be used at [[https://github.com/lisp-polymorph/][lisp-polymorph]].
2029

@@ -442,7 +451,7 @@ At the moment, SLIME is non-extensible. There is an [[https://github.com/slime/s
442451
:CUSTOM_ID: compiler-error-messages
443452
:END:
444453

445-
It is a very valid concern to want good error messages from your compiler.
454+
It is a very valid concern to want good error messages from your compiler.
446455

447456
For polymorphic-functions-lite which performs only run time dispatch, the sole place compiler error messages arise is during the compilation of the polymorphs themselves. Polymorphic functions does not do any special compilation of the polymorph bodies beyond macroexpansion - the compilation is handled by the underlying lisp system itself. Thus, the goodness of compiler error messages is limited by the underlying lisp system. For example, consider compilation of the below code on SBCL 2.3.11:
448457

pf-lite.png

59 KB
Loading

pf.png

205 KB
Loading

0 commit comments

Comments
 (0)