aboutsummaryrefslogtreecommitdiffstats
path: root/info/sets.texinfo
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2013-06-25 01:08:14 +0200
committerMattias Andrée <maandree@operamail.com>2013-06-25 01:08:14 +0200
commit55da893de9fbc63004cbc652a42dc2524c47d7e4 (patch)
tree6a0859f7f6873dae33abb8639583d1682b655305 /info/sets.texinfo
parentdist (diff)
downloadsets-55da893de9fbc63004cbc652a42dc2524c47d7e4.tar.gz
sets-55da893de9fbc63004cbc652a42dc2524c47d7e4.tar.bz2
sets-55da893de9fbc63004cbc652a42dc2524c47d7e4.tar.xz
move texinfo files into directory info
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'info/sets.texinfo')
-rw-r--r--info/sets.texinfo208
1 files changed, 208 insertions, 0 deletions
diff --git a/info/sets.texinfo b/info/sets.texinfo
new file mode 100644
index 0000000..3a0a71a
--- /dev/null
+++ b/info/sets.texinfo
@@ -0,0 +1,208 @@
+\input texinfo @c -*-texinfo-*-
+
+@c %**start of header
+@setfilename sets.info
+@settitle sets
+@afourpaper
+@documentencoding UTF-8
+@documentlanguage en
+@finalout
+@c %**end of header
+
+
+@c @defindex op
+@c @synindex op vr
+@c @synindex cp pg
+
+
+@copying
+This manual is for @command{sets}.
+
+Copyright @copyright{} 2013 Mattias Andrée (maandree@@member.fsf.org)
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled
+``GNU Free Documentation License''.
+@end quotation
+@end copying
+
+
+@ifnottex
+@node Top
+@top sets
+@insertcopying
+@end ifnottex
+
+@titlepage
+@title sets 1
+@subtitle The practical way to do set operations on sets of lines in the shell
+@author Mattias Andrée, maandree@@member.fsf.org
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@page
+@*@*
+@center Or you could just combine @command{diff}, @command{grep}, @command{sed} and @command{sort}…
+@end titlepage
+
+@contents
+
+
+@menu
+* Overview:: Overview of @command{sets}
+* Invoking:: How to start @command{sets}
+* Using:: How to use @command{sets}
+* Behind the scenes:: How @command{sets} works
+* License of sets:: Summary of the license of the program
+* GNU General Public License:: The license of the program
+* GNU Free Documentation License:: The license of this manual
+* Concept index:: Concept index
+@end menu
+
+
+
+@node Overview
+@chapter Overview
+@cindex overview
+@cindex description
+
+@command{sets} is a practical way to do set operations in the shell.
+@command{sets} lets you use a normal algebraic expression for way you
+want returned and supply the sets via stdin.
+
+
+
+@node Invoking
+@chapter Invoking
+@cindex invoking
+@cindex starting
+@cindex options
+@cindex arguments
+@cindex @command{sets}
+@cindex @option{-c}
+@cindex @option{--copying}
+@cindex @option{--copyright}
+@cindex @option{-w}
+@cindex @option{--warranty}
+
+@command{sets} can be started with @option{-c}, @option{--copying} or
+@option{--copyright} for displaying copyright information, @option{-w} or
+@option{--warranty} for displaying a warranty disclaimer. If any other
+options is used, help information is displayed.
+
+To actually use @command{sets} use one argument expressing the formula
+you want calculated (and no other arguments.) The expression is written
+in normal algebra, meaning the you use operand–operator–operand style
+expression. For example, to get the elements in set 1, that does not
+exist in set 2 nor set 3, the expression is @code{1 - 2 - 3}. And yes
+the sets are numbers from 1 and up in decimal.
+
+The sets are fetched from stdin.
+
+
+@node Using
+@chapter Using
+@cindex usage
+
+To use @command{sets} use one argument expressing the formula you want
+calculated (and no other arguments.) The expression is written in normal
+algebra, meaning the you use operand–operator–operand style expression.
+For example, to get the elements in set 1, that does not exist in set 2
+nor set 3, the expression is @code{1 - 2 - 3}. And yes the sets are numbers
+from 1 and up in decimal. Set 0 represents the empty set, and the universe
+is represented by @code{U}, and is an union of all sets.
+
+The supported operators are complement (not), symmetrical difference
+(parity/xor), intersection (and), union (or), difference (material
+nonimplication/abjunction). If your display is limited run @command{sets --help}
+to get this list (it should be complete if you use @command{info});
+the recognised symbols for the operators (and sets) are:
+
+@table @asis
+@item Complement
+~ C ∁ ! ¬
+@item Symmetrical difference
+^ ⊕ ∆ ⊗ ⊻
+@item Intersection
+& * ∧ ⋀ ∩ ⋂
+@item Union
+| + ∨ ⋁ ∪ ⋃
+@item Difference
+- − \ ↛
+@item Empty set
+0 ∅
+@item Universe
+U Ω Ω 𝓤
+@end table
+
+Round brackets are recognised for evaluation order grouping.
+
+The sets are fetched from stdin, a line in stdin in an element, sets
+are seperated by blank lines, and you can have any number of blank
+lines, meaning that you cannot have empty sets. But if you want
+empty set you should just use an element that you know is a false
+element, perhaps a dot.
+
+
+@node Behind the scenes
+@chapter Behind the scenes
+@cindex behind the scenes
+@cindex inner workings
+
+@command{sets} is written in Python 3 and takes advantages of the
+possibility to overrider operators and evalute expressions. @command{sets}
+takes the user's formula and do some simple string replacements
+and lets Python evaluate the expression this is after the replacements
+a full Python instruction. Each line set is represented as an objcet
+of a class that overloads a few operators.
+
+
+
+@node License of sets
+@appendix License of sets
+@flushleft
+sets – The practical way to do set operations on sets of lines in the shell
+
+Copyright © 2012, 2013 Mattias Andrée (maandree@@member.fsf.org)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+@end flushleft
+
+@node GNU General Public License
+@appendix GNU General Public License
+@include gpl.texinfo
+
+@node GNU Free Documentation License
+@appendix GNU Free Documentation License
+@include fdl.texinfo
+
+@node Concept index
+@appendix Concept index
+@printindex cp
+
+@c @node Concept and program index
+@c @appendix Concept and program index
+@c @printindex pg
+
+@c @node Variable and option index
+@c @appendix Variable and option index
+@c @printindex vr
+
+
+@bye
+