]> gitweb.factorcode.org Git - factor.git/blob - core/classes/singleton/singleton-docs.factor
Merge qualified, alias, symbols, constants into core
[factor.git] / core / classes / singleton / singleton-docs.factor
1 USING: help.markup help.syntax kernel words ;
2 IN: classes.singleton
3
4 ARTICLE: "singletons" "Singleton classes"
5 "A singleton is a class with only one instance and with no state."
6 { $subsection POSTPONE: SINGLETON: }
7 { $subsection POSTPONE: SINGLETONS: }
8 { $subsection define-singleton-class }
9 "The set of all singleton classes is itself a class:"
10 { $subsection singleton-class? }
11 { $subsection singleton-class } ;
12
13 HELP: SINGLETON:
14 { $syntax "SINGLETON: class" }
15 { $values
16     { "class" "a new singleton to define" }
17 }
18 { $description
19     "Defines a new singleton class. The class word itself is the sole instance of the singleton class."
20 }
21 { $examples
22     { $example "USING: classes.singleton kernel io ;" "IN: scratchpad" "SINGLETON: foo\nGENERIC: bar ( obj -- )\nM: foo bar drop \"a foo!\" print ;\nfoo bar" "a foo!" }
23 } ;
24
25 HELP: define-singleton-class
26 { $values { "word" "a new word" } }
27 { $description
28     "Defines a singleton class. This is the run-time equivalent of " { $link POSTPONE: SINGLETON: } "." } ;
29
30 { POSTPONE: SINGLETON: define-singleton-class } related-words
31
32 HELP: singleton-class
33 { $class-description "The class of singleton classes." } ;
34
35 ABOUT: "singletons"