The following description and content is shared and identical to the ‘Merging Generics’ heading of the previous section.
It is repeated it here, under its own section entry, so that it appears in the table of content and grab all users attention - those who do not follow our recommendation may void their warranty or poison their cat.
_ Merging Generics
In G-Golf, generic functions are always merged (see Merging Generics in The GNU Guile Reference Manual).
Users are (highly) recommended to do the same, in their repl
,
application/library modules and script(s). In its modules - those that
import (oop goops) - G-Golf uses the following duplicate binding handler
set:
#:duplicates (merge-generics replace warn-override-core warn last)
In a repl
or in scripts, these maybe set - after importing (oop
goops) - by calling default-duplicate-binding-handler
:
(use-modules (oop goops)) (default-duplicate-binding-handler '(merge-generics replace warn-override-core warn last))
G-Golf regular users should consider adding the above lines to their
$HOME/.guile or, when working in a multi-user environmet, should
consider adding those lines the file named init.scm in the
so-called Guile global site directory10, here (evaluate the
following expression in a terminal): guile -c "(display
(%global-site-dir))(newline)"
.
You need write privileges to add or modify this file, contact your system administrator if you’re not in charge of the system you are working on.