Hyperpolyglot.org Skeleton

core: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regular expressions | dates and time | functions | execution control | exceptions | threads | streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects | inheritance and polymorphism | reflection | net and web | dom | gui | unit tests | logging | debugging

data structures: arrays | arithmetic sequences | lists | tuples | stacks | queues | sets | dictionaries | 2d arrays | 3d arrays | user-defined types | generic types

language specific: emacs buffers | c preprocessor macros | lisp macros | java interop

tables: tables | import and export | relational algebra | aggregation

mathematics: vectors | matrices | symbolic expressions | calculus | equations and unknowns | optimization | combinatorics | number theory | elliptic curves | rationals and algebraic numbers | polynomials | rings | power series | special functions | permutations | groups | subgroups | group homomorphisms | actions

statistics: descriptive statistics | distributions | linear regression | statistical tests | time series

charts: bar charts | scatter plots | line charts | surface charts | chart options

CORE
version
title anchor description
version used
 
#version-used The versions used for testing code in the reference sheet.
show version
 
#show-version How to get the version.
implicit prologue #implicit-prologue Code which examples in the sheet assume to have already been executed.

Replace this with convention note? #include, using import in java sheet, not following expressions with semicolons, lists of function names
grammar and execution
title anchor description
hello world #hello-world
compiler #compiler compile file
standalone executable #standalone-executable possiblly includes runtime
bytecode compiler #bytecode-compiler also how to execute bytecode
interpreter
 
#interpreter
shebang #shebang
repl
 
#repl
command line program #cmd-line-program
file suffixes #file-suffixes omit if can be observed from other examples
block delimiters #block-delimiters consider omitting if can easily be inferred
statement separator
 
#stmt-separator rename statement terminator
top level statements #top-level-stmt statements that can occur at the top level of the file; i.e. not inside any block. Also indicate if certains statements are required or required to appear in a certain order
expression delimiters #expr-delimiters indicate other uses of delimiters (parens often have multiple uses). Also list places where expressions must be encased by parens (such as conditional of if).
are expressions statements #expr-stmt in vimscript function invocation is an expr, not a stmt (use call to make it a stmt)
word separator
 
#word-separator how are function args separated, how is function name separated from args, how are other keywords (if, while) separated from their operands
source code encoding #source-code-encoding
end-of-line comment
 
#eol-comment
multiple line comment
 
#multiple-line-comment do they nest?
variables and expressions
title anchor description
identifier #id Sigils (e.g $foo)? Restrictions on characters? Case sensitive?
quoted identifiers #quoted-id how to quote or escape unusual characters
local variable #local-var how to declare
initialize variable #init-var if syntax is different than assignment
uninitialized local variable #uninitialized-local-var
file scope variable #file-scope-var
global variable #global-var how to declare
uninitialized global variable #uninitialized-global-var
immutable variable #immutable-var e.g const in C++; how to declare
compile time constant
 
#compile-time-const how to declare
assignment
 
#assignment does assignment have a value; can they be chained
parallel assignment
 
#parallel-assignment
deconstruction list of types which can be deconstructed
swap
 
#swap
compound assignment
arithmetic, string, logical, bit
#compound-assignment
increment and decrement
 
#incr-decr
address #addr & in C, \ in Perl; in typed languages how to declare pointer types
dereference #dereference
type size #type-size i.e. sizeof()
value size #val-size sizeof() can be used on expressions
address arithmetic #addr-arithm
reference count pointer #ref-cnt-ptr
weak pointer #weak-ptr
allocate heap #allocate-heap
uninitialized heap #uninitialized-heap
free heap #free-heap
identifier as value #id-as-val i.e. quoting a symbol in lisp
identifier attributes
set, get, remove
#id-attr called properties in lisp
non-referential identifier #non-referential-id called atom in Prolog and Erlang; symbol in Ruby; keyword in Lisp; show how to quote special characters; also mention named parameters of Python and perhaps Objective C?
unit type and value #unit-type-val
null
 
#null
null test
 
#null-test
coalesce #coalesce aka null coalescing operator
nullif #nullif
undefined variable
 
#undef-var for languages which don't require declaration; notes can have undef test
remove variable #rm-var interactive environments often have this feature
conditional expression
 
#cond-expr
branch type mismatch #branch-type-mismatch
declare expression type #decl-expr-type
arithmetic and logic
title anchor description
boolean type #boolean-type
true and false
 
#true-false
falsehoods
 
#falsehoods lists all values which evaluate as false in a conditional or as an operand of a logical operator. Add a note if there values which cause an error in that context.
logical operators
 
#logical-op
short circuit operators #short-circuit-op when logical ops don't short circuit
relational expression #relational-expr for languages with unusual syntax: shells, tcl, prolog
relational operators
 
#relational-op
min and max #min-max Do functions take variable number of arguments? See also min-max-elem in the arrays section.
three value comparison #three-val-comparison
integer type #int-type list types if more than one, notes contain info about literals
integer literal #int-literal if unusual; SML, Oz uses ~ for negation; Haskell lacks negative literals
unsigned type #unsigned-type
float type #float-type list types if more than one
float literal #float-literal if unusual, otherwise put in notes to float type
fixed type #fixed-type
numeric predicates #num-predicates
arithmetic expression #arith-expr for languages with unusual syntax: shells, tcl
arithmetic operators
 
#arith-op addition, subtraction, multiplication, division, quotient, remainder
add integer and float #add-int-float how to add integer and float; omit if no explicit conversion is needed
unary negation #unary-negation example should be unary negation and not a negative float literal (i.e. use a variable)
integer division
 
#int-div How to perform integer division (i.e. quotient) on integers.
integer division by zero
 
#int-div-zero test positive, negative, and zero dividend; if there is an infinity value does it have a literal?
divmod #divmod
float division
 
#float-div How to perform float division on integers.
float division by zero
 
#float-div-zero test positive, negative, and zero dividend; if there is an infinity value does it have a literal?
power #power Use 2 ** 16 as an example. different for integers and floats? Zero with negative exponent? Negative number with fractional exponent?
factorial

and binomial coefficient
#factorial
sqrt #sqrt
sqrt -1
 
#sqrt-negative-one
transcendental functions
 
#transcendental-func rename transcendental functions (but rm sqrt). 4 groups: exp and log; trig; inverse trig; atan2
transcendental constants #transcendental-const pi and e
float truncation
round towards zero, round to nearest integer, round down, round up
#float-truncation
absolute value
and signum
#absolute-val
integer overflow
 
#int-overflow some possibilities: modular arithmetic, exception, conversion to float, conversion to arbitrary-precision integer
float overflow
 
#float-overflow
float limits #float-limits
arbitrary-precision integer type #arbitrary-precision-int-type
arbitrary-precision integer operations #arbitrary-precision-int-op
rational type #rational-type
rational construction #rational-construction
rational decomposition #rational-decomposition numerator, denominator
decimal approximation #decimal-approx and how to control the number of digits
complex type #complex-type
complex construction #complex-construction also construct from polar coordinates
complex decomposition #complex-decomposition real and imaginary, argument and absolute value, conjugate
random number
uniform integer, uniform float, normal float
#random-num put distribution in subtitle
random seed
set, get and restore
#random-seed just show how to set it?
bit operators
left shift, right shift, and, inclusive or, exclusive or, complement
#bit-op for examples use (1, 3) or (5, 1). Supposing the arguments are nonnegative, (1, 3) is the minimal solution which makes all of the operators distinct. (5, 1) is the minimal solution where all of the operators are distinct and nonzero. The minimization function is the sum of the arguments.

Shift can be logical, circular, or arithmetic. In logical shift the new bits are zero. In circular the new bits are the bits that were removed from the other end. Arithmetic left shift is the same as logical left shift. Arithmetic right shift fills with the value of the high order bit.
binary, octal, and hex literals #binary-octal-hex-literals
radix
convert integer to and from string with radix
#radix
strings
title anchor description
string type #str-type is encoding a property? Use character string instead byte string type.
string test #str-test
allocate string #allocate-str
constructor #str-ctor from characters
string literal
 
#str-literal
newline in literal
 
#newline-in-str-literal Ways to put a newline in a string; note if actual newline doesn't render.
literal escapes
 
#str-literal-esc explain sequences not found in C
custom delimiters #custom-str-literal-delimiters
here document
 
#here-doc
unquoted string literal #unquoted-str-literal also called a bareword
variable interpolation
 
#var-interpolation
expression interpolation
format string
 
#fmt-str i.e. sprintf; characters for string, integer, float, how to escape conversion specifier character
format specifiers
are strings mutable? #mutable-str
copy string #copy-str
compare strings #compare-str if relational operators don't work
concatenate
 
#str-concat
replicate
 
#str-replicate replicate character and replicate string. Also called string multiplication.
translate case
to upper, to lower
#translate-case rename from case manipulation. to upper, to lower
capitalize

string, words
#capitalize If doesn't lowercase rest of word, do it in example
trim
left, right, both ends
#trim Also called stripping. But prefer trimming, since stripping can mean removing internal occurrences of a character
pad
left, right, both ends
#pad
number to string #num-to-str precision and zero padding; explict conversion and operators which perform implicit conversion
string to number #str-to-num notes on whether full string must parse and what happen if conversion fails; explicit conversion and operators which perform implicit conversion
string join
 
#str-join
split #split char, string, and regex delimiter

splitting on one occurrence of a delimiter vs one or more occurrences

how boundary delimiters are handled
split in two
at first delimiter, at last delimiter
#split-in-two
split and keep delimiters #split-keep-delimiters
prefix and suffix test #prefix-suffix-test
serialize
and deserialize
#serialize
length
 
#str-len in characters, in bytes
index of substring
first, last
#index-substr is index zero-based or one-based? What if not found?
extract substring
 
#extract-substr zero-based or one-based index? by endpoints, by start and length; what about out-of-bounds condition
byte array type #byte-array-type
byte array to string #bytes-to-str
string to byte array #str-to-btyes
character type #char-type
character test #char-test
character literal #char-literal
character lookup
and byte
#lookup-char is index zero-based or one-based? out-of-bounds?
character index #char-index
character tests #char-tests such as defined in <ctype.h>
chr and ord
 
#chr-ord "chr" converts an integer representing a code point to the corresponding character. In language which represent characters by integers no such operation is necessary, but in other languages "chr" might return a string with one character. "ord" is the inverse operation. There must be a character encoding, whether implicit or explicit, and "chr" can fail if not given a code point that is in range.
to array of characters #str-to-char-array
test character #test-char is uppercase? is lowercase? Other Unicode properties
translate characters
 
#translate-char
delete characters #delete-char also how to delete characters "not" in the list
squeeze characters #squeeze-char combine with translate to squeeze all whitespace to a single space?
regular expressions
title anchor description
literal, custom delimited literal #regex-literal
character class abbreviations #char-class-abbrev
anchors #regex-anchors
lookahead
positive, negative
#regex-lookahead
match test
 
#regex-test
case insensitive match test #case-insensitive-regex
modifiers
 
#regex-modifiers
substitute
 
#subst
match, prematch, postmatch
 
#match-prematch-postmatch
group capture
 
#group-capture
named group capture #named-group-capture
scan
 
#scan
backreference in match and substitution #backreference
recursive regex #recursive-regex
dates and time
title anchor description
broken-down datetime type #broken-down-datetime-type called broken-down or broken-out in the C standard library
unix epoch type #unix-epoch-type if not an integer or if there are multiple integer types
current datetime #current-datetime local and UTC
current unix epoch #current-unix-epoch
broken-down datetime to unix epoch #broken-down-datetime-to-unix-epoch convert broken-down datetime to unix epoch; both local and UTC
unix epoch to broken-down datetime #unix-epoch-to-broken-down-datetime
datetime to string #datetime-to-str Using the default format for the locale
format datetime #fmt-datetime man page of format specifiers
parse datetime #parse-datetime man page of format specifiers
parse datetime w/o format #parse-datetime-without-format
date parts #date-parts
time parts #time-parts
build broken-down datetime #build-datetime rollover: does May 32 == Jun 1; what about Jun 0?

how to specify tmz
day of week and day of year #dow-doy
datetime subtraction #datetime-subtraction does the subtraction operator work or is the result nonsensical? Is there are different way to get the duration length
add duration #add-duration
local time zone determination #local-tmz-determination and if it is stored in broken-down date and time values
time zone info
name and utc offset
#tmz-info
daylight savings test #daylight-savings-test
nonlocal time zone #nonlocal-tmz convert a UTC date and time to the corresponding date and time for a nonlocal time zone
microseconds #microseconds get current date and time down to the microsecond
functions
title anchor description
declare #decl-func
define
 
#def-func
call #call-func
define static class method #def-static-class-method
call static class method #call-static-class-method
define with block body #def-func-with-block-body for languages which have functions which expression bodies
undefine #undef-func
redefine #redefine-func in particular, can built-ins be redefined
overload #overload-func
define piecewise #def-func-piecewise
nest #nest-func Note visibility of nested function. Can nested function see local functions of parent variable?
missing argument behavior
 
#missing-arg what about extra arg behavior?
extra argument behavior #extra-arg
default argument
 
#default-arg
named parameters
 
#named-param
variadic function #variadic-func
pass array elements as separate arguments #expand-array aka splat operator; should illustrate when not all arguments come from array
parameter alias
 
#param-alias What if an expression is provided? What about strings, arrays, and dictionaries in the normal case? in out in Ada and ref in C#
uninitialized parameter alias #uninitialized-param-alias out in Ada and C#
return value
 
#retval how return value
no return value #no-retval how to declare function with no return value; aka a procedure
multiple return values
 
#multiple-retval
named return values
 
#named-retval
execute on return
  
#exec-on-return e.g.. the defer statement in Go
recursive function #recursive-func
mutually recursive functions #mutually-recursive-func
anonymous function literal
 
#anon-func-literal aka lambda function
call anonymous function #call-anon-func
closure #closure
function with private state #func-private-state
function as value #func-as-val i.e. how to pass a function as an argument.
generator #generator a function which can yield to the caller and resume; how to use
decorator #decorator note on order when there are two decorators
compose functions #compose-func if a point free operator is provided
partial application #partial-application cf currying
overload operator #overload-op
call operator like function #call-op-like-func
call function like operator #call-func-like-op
lazy evaluation #lazy-eval when not the default behavior
strict evaluation #strict-eval when not the default behavior
execution control
title anchor description
if
 
#if print "positive", "negative", or "zero" depending upon sign of x
switch #switch does execution fall thru to the next case?

permitted type of expression in switch: integer, any

type of comparision in case: equality test, regex match
while
 
#while iterate over i and print the numbers 0 to 9

if do-while loop exists, mention in footnote
for #for initialization, condition, afterthought; illustrate comma operator
iterate over i and print the numbers 0 to 9
for with local scope #for-local-scope
infinite loop #infinite-loop
break
 
#break
break from nested loops #break-from-nested-loops
continue #continue can't find a short example where continue is useful
statement modifiers
 
#stmt-modifiers
single statement branches and loops #single-stmt-branch-loop
dangling else #dangling-else if dangling else ambiguity, show how resolved
goto #goto
longjmp #longjmp
exceptions
title anchor description
base exception
and base of user defined exceptions
#base-exc what can be thrown; base of all exceptions; of user defined exceptions; base exception methods
predefined exceptions #predefined-exc use indentation to show hierarchy
raise
 
#raise-exc
handle #handle-exc
define #def-exc
re-raise exception #re-raise-exc
catch-all handler
 
#catch-all-handler
multiple handlers #multiple-handlers
uncaught exception behavior #uncaught-exc
global variable for last exception #last-exc-global
error message #error-msg
system call errno #errno
stack trace #stack-trace
finally block
 
#finally-block aka ensure
exception specification #exc-specification should this be in function section? Are they required, and when.
threads
title anchor description
sleep #sleep
timeout #timeout
start thread
 
#start-thread can threads use multiple processors; limitations such as the Python GIL
terminate current thread #terminate-current-thread what happens when thread function returns; when all threads exit; when an exception makes it to the top of a thread
terminate other thread #terminate-other-thread
list threads #list-threads
wait on thread
 
#wait-on-thread does join have a return value; how is it set; blocking and non-blocking; order which lock is granted to waiting threads
lock #lock reentrant locks; blocking and non-blocking
create message queue #create-msg-queue for erlang, each process has an implicit queue; LIFO, FIFO, and priority queue
send message #send-msg
receive message #receive-msg how to receive a msg transactionally
streams
title anchor description
read from stdin #read-stdin what is the encoding?
write to stdout #write-stdout w/ or w/o newline
write format to stdout #write-fmt-stdout
write to stderr #write-stderr
open for reading #open-read how to set encoding
read line #read-line is newline preserved?
iterate by line #iterate-by-line
read fixed length #read-fixed-len how to up to a maximum number of characters; how to get the number of characters read
read file into string #read-file-str how to read an entire file into a string
read file into array of strings #read-file-array how to read an entire file into an array of strings; one line per string
read char #read-char
read serialized data #read-serialized-data
open for writing #open-write Creates if file does not exit.
open file appending #open-append Creates if file does not exist.
write string #write-string
write line #write-line
write format #write-fmt
write char #write-char
write serialized data #write-serialized-data
close #close
close on block exit #close-block-exit
flush #flush
position
get, set
#seek from beginning of file; from current position; from end of file
open temporary file #open-tmp-file
open in memory file #open-in-memory-file
asynchronous events
title anchor description
files
title anchor description
create empty file #create-empty-file not an error if the file already exists; also how to touch a file, which updates the last modified timestamp if the file already exists
file exists test, file regular test
 
#file-test
file size
 
#file-size
is file readable, writable, executable #readable-writable-executable to avoid a race condition it is better to attempt the operation without checking for the necessary permission and be prepared to handle an error
set file permissions #chmod
last modification time #last-modification-time
copy file, remove file, rename file #file-cp-rm-mv
create symlink, symlink test, readlink #symlink
generate unused file name #unused-file-name does the code also create the file?
file formats
title anchor description
parse csv #parse-csv
generate csv #generate-csv
parse json #parse-json
generate json #generate-json
parse yaml #parse-yaml
generate yaml #generate-yaml
parse xml #parse-xml xpath?
generate xml #generate-xml
parse html #parse-html xpath?
directories
title anchor description
working directory
get and set
#working-dir aka current directory
program directory #program-dir The directory which contains the executable or script being executed
build pathname #build-pathname does it remove doubled slashes.
dirname and basename #dirname-basename
absolute pathname #absolute-pathname does it understand ~; does it remove ..
iterate over directory by file #iterate-dir
glob paths #glob
make directory #mkdir both mkdir and mkdir -p (latter not transactional)
recursive copy #recursive-cp
remove empty directory #rmdir
remove directory and contents #rm-rf
directory test
 
#dir-test
generate unused directory #unused-dir
system temporary file directory #system-tmp-dir
processes and environment
title anchor description
command line arguments
 
#cmd-line-arg
program name #program-name
environment variable
get, set, clear
#env-var not possible to set env variable in a portable way?
iterate over environment variables #env-var-iter
user id and name #user-id-name
exit
 
#exit and how to set the status code
external command
 
#external-cmd
shell-escaped external command
 
#shell-esc-external-cmd
command substitution
 
#cmd-subst
get pid, parent pid #pid
set signal handler
 
#signal-handler
send signal #send-signal
option parsing
title anchor description
command line options #cmd-line-opt boolean option, option with argument, and usage
libraries and namespaces
title anchor description
standard library name #std-lib-name
compile library #compile-lib
link library #link-lib
load library
 
#load-lib are identifiers qualified, unqualified, or invisible until a later command imports them?
load library in subdirectory #load-lib-subdir
hot patch
 
#hot patch i.e. reload possibly modified version of library
load error #load-err
library path
 
#lib-path
library path environment variable #lib-path-env
library path command line option #lib-path-cmd-line
main routine in library #main-in-lib i.e. how to put code in a library which only executes when the used as the entry point of the program
namespace declaration
 
#namespace-decl
subnamespace declaration #subnamespace-decl
namespace separator
 
#namespace-separator
import definitions
 
#import-def unqualified import
import all definitions in namespace
 
#import-namespace unqualified import
shadow avoidance
namespace, identifier
#shadow-avoidance
application environment
create; add pkg
#app-env
multiple installations #multiple-installations
package manager
search; install; list installed
#pkg-manager
package specification format #pkg-spec
objects
title anchor description
define class
 
#def-class
create object
 
#create-obj
get and set attribute
 
#getter-setter from outside class; from inside class (this, self?)
instance variable accessibility #instance-var
define method
 
#def-method
invoke method
 
#invoke-method
destructor
 
#destructor
method missing
 
#method-missing
method alias #method-alias
define class method #def-class-method
invoke class method
 
#invoke-class-method
inheritance and polymorphism
title anchor description
universal base class #universal-base-class
subclass #subclass how to call parent constructor
mixin #mixin
reflection
title anchor description
object id #object-id
inspect type
 
#inspect-type
basic types #types
inspect class #inspect-class
inspect class hierarchy #inspect-class-hierarchy
has method?
 
#has-method
message passing
 
#msg-passing
eval
 
#eval
inspect methods
 
#inspect-methods
inspect attributes
 
#inspect-attr
pretty print
 
#pretty-print
source line number and file name #src-line-file
command line documentation #cmd-line-doc
net and web
title anchor description
get local hostname, dns lookup, reverse dns lookup #hostname-ip
http get
 
#http-get
http post #http-post
absolute url #abs-url
parse url #parse-url
url encode/decode
 
#url-encode
base64 encode #base64
dom
title anchor description
get window #get-window
get document root #get-doc-root
css selector #css-selector
get attribute #get-attr
set attribute #set-attr
children of node #children-node
append node #append-node
remove node #rm-node
get parent node #get-parent-node
get and set text #get-set-text
set click handler #set-click-handler
remove click handler #rm-click-handler
gui
title anchor description
unit tests
title anchor description
test class #test-class
run all tests #run-all-tests
run single test #run-single-test
equality assertion #assert-equal
approximate assertion #assert-approx
regex assertion #assert-regex
exception assertion #assert-exc
mock method #mock-method
setup #test-setup
teardown #test-teardown
coverage #coverage
logging
title anchor description
debugging
title anchor description
check syntax
 
#check-syntax
flag for stronger warnings #stronger-warnings
flag for stronger errors #strong-err
suppress warnings #suppress-warnings
treat warnings as errors #warnings-as-err
lint #lint unused declarations; paths with no return
source cleanup #src-cleanup
run debugger #debugger
debugger commands #debugger-cmds
benchmark code #benchmark
cpu usage #cpu-usage
profile code #profile
memory tool #memory-tool memory leaks; accessing uninitialized memory
DATA STRUCTURES
arrays
title anchor description
declare on stack #fixed-len-array-stack
declare on stack with runtime expression for size #fixed-len-array-stack-runtime-size a C99 feature
declare on heap #fixed-len-array-heap
free heap #free-fixed-len-array-heap
initialization list
 
#fixed-len-array-init-list
realloc #realloc
declare #decl-resizable-array
initialization list #resizable-array-init-list
literal
 
#resizable-array-literal
quote words
 
#quote-words
size
 
#resizable-array-size
capacity #resizable-array-capacity
empty test
 
#empty-resizable-array-test and how to make array empty
lookup
 
#resizable-array-lookup negative integers or arrays of integers and indices
update
 
#resizable-array-update what happens to size of array
out-of-bounds behavior #resizable-array-out-of-bounds
element index #array-element-index first and last occurrence; example should have two occurrences; does language return an array of indices; what if none found
slice
by endpoints, by length
 
#slice-array is slice modifiable, and if modified, does the original array change?
slice to end
 
#slice-array-to-end
manipulate back
 
#array-back
manipulate front
 
#array-front
concatenate #concatenate-array
replicate #replicate-array replicate element; replicate array
copy
address copy, shallow copy, deep copy
#copy-array
array as function argument #array-as-func-arg how to pass with or without making a copy
iterate over elements
 
#iterate-over-array
iterate over indices and elements #indexed-array-iteration
iterate over range #range-iteration
instantiate range as array #range-array
reverse #reverse-array
sort #sort-array
dedupe #dedupe-array
membership
 
#membership
intersection
 
#intersection
union
 
#union
relative complement, symmetric difference #set-diff
map
 
#map
filter
 
#filter
reduce
 
#reduce fold right versus fold left?
min and max element
 
#min-max-elem
universal and existential tests
 
#universal-existential-test
shuffle and sample #shuffle-sample sample with replacement: R: sample(a, 3, replace=T)
zip
 
#zip what if of different length?
flatten #flatten one level and completely
cartesian product #cartesian-product
arithmetic sequences
title anchor description
unit difference #arith-seq-diff-one
difference of 10 #arith-seq-diff-ten
difference of 0.1 #arith-seq-diff-tenth
iterate over arithmetic sequence #iter-over-arith-seq Is it possible to iterate over the arithmetic sequence w/o instantiating it as an array in memory?
convert arithmetic sequence to array #arith-seq-to-array
lists
title anchor description
literal #list-literal
empty list #empty-list
empty list test #empty-list-test
cons #cons
head #head
tail #tail
head and tail of empty list #head-tail-empty-list
cons cell #cons-cell
tests
atom, cons cell, list
#list-test
length #list-len
nth element #nth-elem-of-list
element index #list-elem-index
update #list-update
manipulate front #list-front
concatenate
two lists, list of lists
#list-concat
last
and butlast
#list-last
take #list-take
drop #list-drop
iterate #iter-over-list
reverse #list-reverse
sort #list-sort
map #list-map
filter #list-filter
reduce #list-fold-left
fold from right #list-fold-right
membership #list-membership
universal test #list-universal-test
existential test #list-existential-test
zip lists #list-zip what if of different length?
association list lookup #assoc-list-lookup
property list lookup #prop-list-lookup
apply association list #apply-assoc-list
tuples
title anchor description
type #tuple-type
literal #tuple-literal
constructor #tuple-ctor
lookup #tuple-lookup
decompose #tuple-decompose
update #tuple-update
length #tuple-len
pair literal #pair-literal
pair constructor #pair-ctor
pair lookup #pair-lookup
pair update #pair-update
stacks
title anchor description
queues
title anchor description
sets
title anchor description
literal #set-literal
size #set-size
from arithmetic sequence

unit difference, non-unit difference
#set-from-arith-seq
add element #set-add-elem
remove element #set-rm-elem
membership test #set-membership
subset test #set-subset
disjoint test #disjoint-test
intersection #set-intersection
union #set-union
relative complement

and symmetric difference
#set-relative-complement
cartesian product #set-cartesian-prod
map #set-map
filter #set-filter
reduce #set-reduce
universal test #set-universal-test
exisitential test #set-existential-test
dictionaries
title anchor description
declare
 
#declare-dict
literal
 
#dict-literal
constructor
 
#dict-ctor
predicate
 
#dict-pred
size
 
#dict-size
lookup
 
#dict-lookup ability to specify value if not found?
update
 
#dict-update distinguish between insert and update?
missing key behavior
 
#dict-missing-key on lookup
is key present
 
#dict-is-key-present
delete #dict-del
from array of pairs, from even length array #dict-associative-array
merge #dict-merge How are duplicate keys handled?
invert #dict-invert How are duplicate values handled?
intersection #dict-intersection a dictionary of key-value pairs in both dictionaries
relative complement #dict-diff a dictionary of key-value pairs in the 2nd dictionary and not the 1st
iterate
 
#dict-iter
keys and values as arrays #dict-key-val-arrays
keys and values as lists #dict-key-val-lists
sort by values #dict-sort-values
default value, computed value #dict-default-val
2d arrays
title anchor description
element type #elem-type
permitted element types #permitted-elem-types
2d literal #literal-2d-array
construct 2d array from sequence of elements
fill by row, by column
#array-2d-from-seq
construct 2d array from rows #array-2d-from-rows
construct 2d array from columns #array-2d-from-cols
construct 2d array from 2d arrays
stacked, side-by-side
#array-2d-from-2d-arrays
size
number of elements,
number of dimensions,
dimension lengths
#multidim-array-size
2d array lookup #array-2d-lookup
out-of-bounds behavior #multidim-out-of-bounds-behavior
1d index lookup of 2d array #index-1d-lookup-2d-array
slice #multidim-slice
update #multidim-update
higher order update #higher-order-update
transpose #multidim-transpose
map elements #multidim-map
higher order map #higher-order-map
3d arrays
title anchor description
construct 3d array from sequence of elements #array-3d-from-seq
construct 3d array from 2d arrays #array-3d-from-2d-arrays
construct 3d array from sequence of sequences of rows #array-3d-from-seq-of-seq-of-rows
swap axes #multidim-swap-axes
user-defined types
title anchor description
type alias #type-alias new type and old are interchangeable
new type #new-type not interchangeable
algebraic sum type #algebraic-sum-type
enumerated type #enumerated-type a sum type
union type #union-type
algebraic product type #algebraic-prod-type
algebraic product type literal #algebraic-prod-literal
type constructor with argument #type-ctor-with-arg
type constructor with tuple argument #type-ctor-with-tuple-arg
generic type #generic-type
recursive type #recursive-type
match/with case/of #match
match guard #match-guard
match catchall #match-catchall
option type #option-type
struct definition #struct-def
optional struct member #optional-struct-member
struct declaration #struct-decl
struct literal #struct-literal
struct lookup #struct-lookup
struct update #struct-update
member offset #member-offset i.e. offsetof()
generic types
title anchor description
define generic type #define-generic-type
instantiate generic type #instantiate-generic-type
generic array #generic-array
value parameter #val-param
template parameter #template-param
template specialization #template-specialization
multiple type parameters #multiple-type-params
generic type parameters #generic-type-params
variadic template #variadic-template
LANGUAGE SPECIFIC
emacs buffers
title anchor description
c preprocessor macros
title anchor description
include file #include-file
add system directory #add-system-dir
define macro #def-macro
command line macro #cmd-line-macro
undefine macro #undef-macro
macro operators #macro-op
lisp macros
title anchor description
backquote and comma #backquote-comma
defmacro #defmacro
defmacro w/ backquote #defmacro-backquote
macro predicate #macro-predicate
macroexpand #macroexpand
splice quote #splice-quote
recursive macro #recursive-macro
hygienic #hygienic
local values #local-values
java interop
title anchor description
version #java-version
repl #java-repl
interpreter #java-interpreter
compiler #java-compiler
new #java-new
import #java-import
non-bundled java libraries #java-non-bundled
shadowing avoidance #java-shadow
convert native array to java array #java-to-array
are java classes subclassable? #java-subclassable
are java class open? #java-open
TABLES
tables
title anchor description
construct from column arrays #table-from-col-arrays
construct from row tuples #table-from-row-tuples
categorical variable column #categorical-var-col
column names as array #col-names-as-array
extract column as array #extract-col-as-array
extract row as tuple #extract-row-as-tuple
lookup datum #lookup-datum
order rows by column #order-rows
order rows by multiple columns #order-rows-multiple-col
order rows in descending order #order-rows-desc
limit rows #limit-rows i.e slice first n rows
offset rows #offset-rows i.e. slice rows starting from n
attach columns #attach-col
detach columns #detach-col
spreadsheet editor #spreadsheet-editor
import and export
title anchor description
import tab delimited #import-tab-delimited
import csv #import-csv
set column separator #set-col-separator can it be multiple characters or a regex?
set column separator to whitespace #set-col-separator-whitesp
set quote character #set-quote-char
import file without header #import-file-no-header
set column names #set-col-names
set column types #set-col-types
recognize null values #recognize-null-val what values are recognized by default
change decimal mark #change-decimal-mark
recognize thousands separator #recognize-thousands-separator
unequal row length behavior #unequal-row-len-behavior
skip comment lines #skip-comment-lines
skip rows #skip-rows
max rows to read #max-rows-to-read
index column #index-col multiple columns for hierarchical index?
export tab delimited #export-tab-delimited
export csv #export-csv
relational algebra
title anchor description
project columns by name #project-col-by-name
project columns by position #project-col-by-position
project expression #project-expr
project all columns #project-all-col
rename columns #rename-col
select rows #select-rows
select distinct rows #select-distinct-rows
split rows #split-rows
inner join #inner-join
nulls as join values #null-join-val
left join #left-join
full join #full-join
antijoin #antijoin
cross join #cross-join
aggregation
title anchor description
row count #row-count
group by column #group-by-col
group by multiple columns #group-by-multiple-col
aggregation functions #aggregation-func
nulls and aggregation functions #null-aggregation-func
rank #rank
quantile #quantile
having #having
MATHEMATICS
vectors
title anchor description
vector literal #vec-literal
element-wise arithmetic operators #vec-elem-wise-op
result of vector length mismatch #vec-len-mismatch
scalar multiplication #vec-scalar-mult
dot product #vec-dot
cross product #vec-cross
norms #vec-norm
matrices
title anchor description
literal or constructor #matrix-literal-constructor
constant matrices
all zeros, all ones
#constant-matrices
diagonal matrices
and identity
#diagonal-matrices
dimensions #matrix-dim
element lookup #matrix-lookup
extract row #extract-matrix-row
extract column #extract-matrix-col
extract submatrix #extract-submatrix
scalar multiplication #matrix-scalar-mult
element-wise operators #matrix-elem-wise-op
multiplication #matrix-mult
power #matrix-power
kronecker product #kronecker-prod
comparison #matrix-comparison
norms #matrix-norms
transpose #matrix-transpose
conjugate transpose #matrix-conjugate-transpose
inverse #matrix-inverse
pseudoinverse #pseudoinverse
determinant #determinant
trace #trace
eigenvalues #eigenval
eigenvectors #eigenvec
singular value decomposition #svd
solve system of equations #matrix-solution
sparse matrix construction #sparse-matrix-construction
sparse matrix decomposition #sparse-matrix-decomposition
sparse identity matrix #sparse-identity-matrix
dense matrix to sparse matrix
and back
#dense-matrix-to-sparse-matrix
sparse matrix storage #sparse-matrix-storage
symbolic expressions
title anchor description
calculus
title anchor description
equations and unknowns
title anchor description
optimization
title anchor description
combinatorics
title anchor description
number theory
title anchor description
elliptic curves
title anchor description
rationals and algebraic numbers
title anchor description
polynomials
title anchor description
rings
title anchor description
power series
title anchor description
special functions
title anchor description
permutations
title anchor description
groups
title anchor description
subgroups
title anchor description
group homomorphisms
title anchor description
actions
title anchor description
STATISTICS
descriptive statistics
title anchor description
first moment statistics #first-moment-stats
second moment statistics #second-moment-stats
second moment statistics for samples #second-moment-stats-sample
skewness #skewness
kurtosis #kurtosis
nth moment and nth central moment #nth-moment
mode #mode
quantile statistics #quantile-stats
bivariate statistiscs
correlation, covariance
#bivariate-stats
correlation matrix #correlation-matrix
data set to frequency table #freq-table
frequency table to data set #invert-freq-table
bin #bin
distributions
title anchor description
binomial
density, cumulative, quantile,
sample of 10
#binomial
poisson
density, cumulative, quantile,
sample of 10
#poisson
normal
density, cumulative, quantile,
sample of 10
#normal
gamma
density, cumulative, quantile,
sample of 10
#gamma
exponential
density, cumulative, quantile,
sample of 10
#exponential
chi-squared
density, cumulative, quantile,
sample of 10
#chi-squared
beta
density, cumulative, quantile,
sample of 10
#beta
uniform
density, cumulative, quantile,
sample of 10
#uniform
student t
density, cumulative, quantile,
sample of 10
#students-t
snedecor F
density, cumulative, quantile,
sample of 10
#snedecors-f
empirical density function #empirical-density-func
empirical cumulative distribution #empirical-cumulative-distribution
empirical quantile function #empirical-quantile-func
linear regression
title anchor description
simple linear regression
coefficient, intercept, and residuals
#simple-linear-regression
no intercept #linear-regression-no-intercept
multiple linear regression #multiple-linear-regression
polynomial regression #polynomial-regression
logistic regression #logistic-regression
statistical tests
title anchor description
wilcoxon signed-rank test
variable is symmetric around zero
#wilcoxon
kruskal-wallis rank sum test
variables have same location parameter
#kruskal
kolmogorov-smirnov test
variables have same distribution
#kolmogorov-smirnov-test
one-sample t-test
mean of normal variable with unknown variance is zero
#one-sample-t-test
independent two-sample t-test
two normal variables have same mean
#independent-two-sample-t-test
one-sample binomial test
binomial variable parameter is as given
#one-sample-binomial-test
two-sample binomial test
parameters of two binomial variables are equal
#two-sample-binomial-test
chi-squared test
parameters of multinomial variable are all equal
#chi-squared-test
poisson test
parameter of poisson variable is as given
#poisson-test
F test
ratio of variance of normal variables is as given
#f-test
pearson product moment test
normal variables are not correlated
#pearson-product-moment-test
shapiro-wilk test
variable has normal distribution
#shapiro-wilk-test
bartlett test
two or more normal variables have same variance
#bartletts-test
levene test
two or more variables have same variance
#levene-test
one-way anova
two or more normal variables have same mean
#one-way-anova
time series
title anchor description
time series #time-series-construction
monthly time series #monthly-time-series
lookup by time #time-series-lookup-time
lookup by position in series #time-series-lookup-position
aligned arithmetic #aligned-arithmetic
lagged difference #lagged-difference
simple moving average #simple-moving-avg
weighted moving average #weighted-moving-avg
exponential smoothing #exponential-smoothing
exponential smoothing with best least squares fit #least-squares-exponential-smoothing
decompose into seasonal and trend #decompose-seasonal-trend
correlogram #correlogram
test for stationarity #stationarity-test
arma #arma
arima #arima
arima with automatic model selection #automatic-arima
CHARTS
bar charts
title anchor description
vertical-bar-chart.jpg
vertical bar chart
#vertical-bar-chart
horizontal-bar-chart.jpg
horizontal bar chart
#horizontal-bar-chart
grouped-bar-chart.jpg
grouped bar chart
#grouped-bar-chart
stacked-bar-chart.jpg
stacked bar chart
#stacked-bar-chart
pie-chart.jpg
pie chart
#pie-chart
stem-leaf-plot.jpg
stem-and-leaf plot
#stem-leaf-plot
histogram.jpg
histogram
#histogram
box-plot.jpg
box plot
#box-plot
scatter-plots
title anchor description
strip-chart.jpg
strip chart
#strip-chart
strip-chart-jitter.jpg
strip chart with jitter
#strip-chart-jitter
scatter-plot.jpg
scatter plot
#scatter-plot
additional-point-set.jpg
additional point set
#additional-point-set
point types #point-types
point size #point-size
hexagonal-bins.jpg
hexagonal bins
#hexagonal-bins
scatter-plot-matrix.jpg
scatter plot matrix
#scatter-plot-matrix
scatter-plot-3d.jpg
3d scatter plot
#scatter-plot-3d
bubble-chart.jpg
bubble chart
#bubble-chart
linear-regression-line.jpg
linear regression line
#linear-regression-line
q-q-plot.jpg
quantile-quantile plot
#q-q-plot
line charts
title anchor description
polygonal-line-plot.jpg
polygonal line plot
#polygonal-line-plot
additional-line.jpg
additional line
#additional-line
line types #line-types
line thickness #line-thickness
function-plot.jpg
function plot
#function-plot
parametric-plot.jpg
parametric plot
#parametric-plot
implicit-plot.jpg
implicit plot
#implicit-plot
polar-plot.jpg
polar plot
#polar-plot
cubic-spline.jpg
cubic spline
#cubic-spline
area-chart.jpg
area chart
#area-chart
overlapping-area-chart.jpg
overlapping area chart
#overlapping-area-chart
surface charts
title anchor description
contour-plot.jpg
contour plot
#contour-plot
heat-map.jpg
contour plot
#heat-map
shaded-surface-plot.jpg
shaded surface plot
#shaded-surface-plot
light source #light-source
mesh-surface-plot.jpg
mesh surface plot
#mesh-surface-plot
view point #view-point
vector-field-plot.jpg
vector field plot
#vector-field-plot
chart options
title anchor description
chart title #chart-title
axis label #axis-label
legend.jpg
legend
#legend
data label #data-label
open new plot window #new-plot-window
named colors #named-colors
rgb color #rgb-color
background color #background-color
axis limits #axis-limits
logarithmic y-axis #logarithmic-y-axis
superimposed plots with different y-axis scales #superimposed-plots
aspect ratio #aspect-ratio
ticks #ticks
grid lines #grid-lines
subplot-grid.jpg
grid of subplots
#subplot-grid
save plot as png #save-plot-as-png
____________________________________________
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License