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_modelasciiassignmentbig_integerbitbitwise_manipulationbytescharactercharacter_encodingcollectioncomparisonscompositionconcurrencydatedecimal_numberdequedestructuring_assignmentdoubleduck_typingdurationeager_evaluationencapsulationenumerationevaluationexpression_orientedfunction_compositiongenericshalfhash_maphashingimmutabilitylazy_evaluationlockinglongmacrosmetaprogrammingmutationnullnullableobjectoperatorsoption_typespairpartial_applicationpartial_functionspatternpipelinespointerpolymorphismproduct_typeprototype_based_programmingpure_functionsreplreturn_valuesscopeshortsignedsignednesssinglestackstatesum_typeswitchtimestamptripletype_castingtype_inferenceundefinedundefinedunicodeunsignedutf16utf32utf7utf8variable_shadowingvariadic_functionsword