This file is auto-generated and should not be modified manually.
There are several types of reference documents:
Thanks for wanting to contribute to Exercism's reference documents! Contributions are very welcome!
To contribute, please go to the concepts, paradigms, stories, tooling or types page to see which documents have been written. You can then contribute by submitting a PR to update an existing document, or to add a missing document.
This is a list of Concepts for which an exercise has been implemented:
Concept | Implementations |
---|---|
access-behaviour |
Elixir |
agent |
Elixir |
anonymous-functions |
Elixir |
arithmetic |
Common Lisp |
arithmetic-operators |
Julia |
array-analysis |
JavaScript |
array-destructuring |
JavaScript |
arrays |
C#, F#, Java, JavaScript, Ruby, Swift |
atoms |
Elixir |
attributes |
C# |
basics |
C#, Clojure, Elixir, Elm, F#, Java, JavaScript, Kotlin, Python, Ruby, Swift, x86-64-assembly |
binaries |
Elixir |
bit-manipulation |
Elixir |
bitstrings |
Elixir |
boolean-expressions |
Julia |
boolean-logic |
Julia |
booleans |
C#, Clojure, Elixir, F#, Go, Go, Java, JavaScript, Julia, Kotlin, PureScript, Ruby, Swift |
bools |
Python |
callbacks |
JavaScript |
case |
Elixir |
casting |
C# |
charlists |
Elixir |
chars |
C#, Java |
classes |
C#, Java |
closures |
Elixir, JavaScript |
comments |
Common Lisp, Go |
cond |
Elixir |
conditionals |
Clojure, Common Lisp, F#, Go, Julia, Ruby |
conditionals-guard |
Swift |
conditionals-if |
Go, Java, Swift |
conditionals-switch |
Go, Swift |
cons |
Common Lisp |
constants |
C#, Go, Swift |
constructors |
C#, Java |
control-transfer |
Swift |
datetimes |
C#, F# |
default-arguments |
Elixir |
default-parameters |
Common Lisp, Swift |
defensive-copying |
C# |
destructuring |
Rust |
dictionaries |
C#, Swift |
dicts |
Python |
discriminated-unions |
F# |
do-while-loops |
C# |
dynamic-dispatch |
Elixir |
emoji-symbols |
Julia |
entry-api |
Rust |
enum |
Elixir |
enums-basic |
Rust |
equality |
C# |
erlang-libraries |
Elixir |
errors |
Elixir, Go |
escaping-functions |
Swift |
exception-filtering |
C# |
exceptions |
C#, Elixir |
expression-bodied-members |
C# |
expressions |
Common Lisp |
file |
Elixir |
flag-enums |
C# |
floating-point-numbers |
C#, Clojure, Common Lisp, Elixir, F#, Ruby, Rust |
for-loops |
C#, Java, Swift |
foreach-loops |
C#, Java |
function-overloading |
Swift |
functions |
Common Lisp, Go, Swift |
functions-introduction |
Julia |
futures |
Dart |
generic-types |
C# |
guards |
Elixir |
higher-order-functions |
Swift |
if |
Elixir |
if-expressions |
Julia |
if-statements |
C# |
importing |
Swift |
inheritance |
C#, Java |
inout-parameters |
Swift |
instance-variables |
Ruby |
integer-equality |
Julia |
integers |
Common Lisp, Elixir, Rust |
integral-numbers |
C# |
interfaces |
C#, Java |
io |
Elixir |
iterator-protocol |
Julia |
keyword-lists |
Elixir |
lambda-list |
Common Lisp |
list-comprehensions |
Elixir |
list-methods |
Python |
lists |
C#, Clojure, Common Lisp, Elixir, F#, Python |
loops |
Python, Ruby, Swift |
maps |
Elixir, Go |
matrices-introduction |
Julia |
method-overloading |
C# |
methods |
Go, Swift |
module-attributes-as-constants |
Elixir |
multiple-clause-functions |
Elixir |
multiple-dispatch |
Julia |
multiple-return-values |
Swift |
named-arguments |
C# |
named-parameters |
Common Lisp |
namespaces |
C# |
nested-functions |
Swift |
nested-types |
C# |
nil |
Elixir, Go, Ruby |
none |
Python |
nullability |
C#, JavaScript |
numbers |
C#, Clojure, F#, Go, Java, JavaScript, Python, Ruby, Swift |
numbers-basic |
Dart |
object-initializers |
C# |
operator-overloading |
C# |
option |
Rust |
optional-arguments |
Julia |
optional-parameters |
C# |
optionals |
Swift |
ordering |
C# |
overflow |
C# |
packages |
Go |
parameters |
C# |
pattern-matching |
Elixir, F# |
pids |
Elixir |
pipe-operator |
Elixir |
processes |
Elixir |
promises |
JavaScript |
properties |
C# |
protocols |
Elixir |
randomness |
C#, Elixir |
ranges |
Elixir |
readonly-collections |
C# |
records |
F# |
recursion |
Elixir, F#, JavaScript |
regular-expressions |
C#, Elixir |
repeat-while |
Swift |
resource-cleanup |
C# |
resource-lifetime |
C# |
rest-elements |
JavaScript |
rest-parameters |
Common Lisp |
sameness |
Common Lisp |
self |
Swift |
sets |
C# |
short-circuit-evaluation |
Julia |
slices |
Go |
spread-operator |
JavaScript |
streams |
Elixir |
string-builder |
C# |
string-components |
Swift |
string-formatting |
C# |
string-indexing |
Swift |
string-methods |
Python |
strings |
C#, C++, Clojure, Elixir, F#, Go, Java, JavaScript, Python, Ruby |
strings-and-characters |
Swift |
strings-basic |
Dart |
strings-package |
Go |
structs |
C#, Elixir, Go, Rust |
structs-and-classes |
Swift |
switch-expressions |
C# |
switch-statement |
Java |
symbols |
Common Lisp |
tail-call-recursion |
Elixir |
ternary-operator |
Julia, Swift |
throw-expressions |
C# |
time |
C#, Go |
timezone |
C# |
truthy-and-falsy |
Common Lisp |
try-rescue |
Elixir |
try-rescue-else-after |
Elixir |
tuples |
C#, Elixir, Python, Rust, Swift |
type-annotations |
Swift |
type-conversion |
Dart |
unicode-identifiers |
Julia |
user-defined-exceptions |
C# |
value-and-reference-types |
Swift |
variables |
Go, Swift |
variadic-parameters |
Swift |
vectors |
Clojure |
verbatim-strings |
C# |
while-loops |
C#, Swift |
zero-value |
Go |
This is a list of Concepts for which no exercise has yet been implemented:
actor_model
ascii
assignment
big_integer
bit
bitwise_manipulation
bytes
character
character_encoding
collection
comparisons
composition
concurrency
date
decimal_number
deque
destructuring_assignment
double
duck_typing
duration
eager_evaluation
encapsulation
enumeration
evaluation
expression_oriented
function_composition
generics
half
hash_map
hashing
immutability
lazy_evaluation
locking
long
macros
metaprogramming
mutation
null
nullable
object
operators
option_types
pair
partial_application
partial_functions
pattern
pipelines
pointer
polymorphism
product_type
prototype_based_programming
pure_functions
repl
return_values
scope
short
signed
signedness
single
stack
state
sum_type
switch
timestamp
triple
type_casting
type_inference
undefined
undefined
unicode
unsigned
utf16
utf32
utf7
utf8
variable_shadowing
variadic_functions
word