Skip to content

Commit e91317f

Browse files
committed
add wikipedia link for "action at a distance" as a technical term
1 parent b500c93 commit e91317f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

doc/features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3107,7 +3107,7 @@ When using both `@generic` or `@typed` and OOP:
31073107
31083108
Based on my own initial experiments with this feature, the machinery itself works well enough, but to really shine - just like resumable exceptions - multiple dispatch needs to be used everywhere, throughout the language's ecosystem. Python obviously doesn't do that.
31093109
3110-
**CAUTION**: Multiple dispatch can be dangerous. Particularly, `@generic_addmethod` can be dangerous to the readability of your codebase. If methods are added for a generic function defined elsewhere, for types defined elsewhere, this may lead to [*spooky action at a distance*](https://lexi-lambda.github.io/blog/2016/02/18/simple-safe-multimethods-in-racket/). In the Julia community, this is known as [*type piracy*](https://docs.julialang.org/en/v1/manual/style-guide/#Avoid-type-piracy). Keep in mind that the method table is global state!
3110+
**CAUTION**: Multiple dispatch can be dangerous. Particularly, `@generic_addmethod` can be dangerous to the readability of your codebase. If methods are added for a generic function defined elsewhere, for types defined elsewhere, this may lead to [*spooky action at a distance*](https://lexi-lambda.github.io/blog/2016/02/18/simple-safe-multimethods-in-racket/) (as in [action at a distance](https://en.wikipedia.org/wiki/Action_at_a_distance_(computer_programming))). In the Julia community, this is known as [*type piracy*](https://docs.julialang.org/en/v1/manual/style-guide/#Avoid-type-piracy). Keep in mind that the method table is global state!
31113111
31123112
31133113
#### ``typed``: add run-time type checks with type annotation syntax

0 commit comments

Comments
 (0)