├── .dockerignore ├── .github └── workflows │ └── main.yml ├── .gitignore ├── .tool-versions ├── Dockerfile ├── Makefile ├── README.md ├── action.yml ├── archetypes ├── default.md └── functions.md ├── assets ├── images │ ├── functions │ │ ├── Atom │ │ │ ├── Atom.tex │ │ │ ├── to_charlist-1.tex │ │ │ └── to_string-1.tex │ │ ├── Enum │ │ │ ├── Enum.tex │ │ │ ├── all_-1.2.tex │ │ │ ├── all_-1.3.tex │ │ │ ├── all_-1.tex │ │ │ ├── all_-2.2.tex │ │ │ ├── all_-2.3.tex │ │ │ ├── all_-2.tex │ │ │ ├── any_-1.2.tex │ │ │ ├── any_-1.3.tex │ │ │ ├── any_-1.tex │ │ │ ├── any_-2.2.tex │ │ │ ├── any_-2.3.tex │ │ │ ├── any_-2.tex │ │ │ ├── at-3.2.tex │ │ │ ├── at-3.3.tex │ │ │ ├── at-3.tex │ │ │ ├── chunk_by-2.tex │ │ │ ├── chunk_every-2.tex │ │ │ ├── chunk_every-4.tex │ │ │ ├── chunk_while-4.2.tex │ │ │ ├── chunk_while-4.tex │ │ │ ├── concat-1.tex │ │ │ ├── concat-2.tex │ │ │ ├── count-1.tex │ │ │ ├── count-2.tex │ │ │ ├── count_until-2.2.tex │ │ │ ├── count_until-2.tex │ │ │ ├── count_until-3.2.tex │ │ │ ├── count_until-3.tex │ │ │ ├── dedup-1.tex │ │ │ ├── dedup_by-2.tex │ │ │ ├── drop-2.2.tex │ │ │ ├── drop-2.tex │ │ │ ├── drop_every-2.tex │ │ │ ├── drop_while-2.tex │ │ │ ├── each-2.tex │ │ │ ├── empty-1.2.tex │ │ │ ├── empty-1.tex │ │ │ ├── fetch-2.2.tex │ │ │ ├── fetch-2.3.tex │ │ │ ├── fetch-2.tex │ │ │ ├── fetch_-2.2.tex │ │ │ ├── fetch_-2.3.tex │ │ │ ├── fetch_-2.tex │ │ │ ├── filter-2.tex │ │ │ ├── find-3.2.tex │ │ │ ├── find-3.tex │ │ │ ├── find_index-2.2.tex │ │ │ ├── find_index-2.tex │ │ │ ├── find_value-3.2.tex │ │ │ ├── find_value-3.tex │ │ │ ├── flat_map-2.tex │ │ │ ├── flat_map_reduce-3.2.tex │ │ │ ├── flat_map_reduce-3.tex │ │ │ ├── frequencies-1.tex │ │ │ ├── frequencies_by-2.tex │ │ │ ├── group_by-3.tex │ │ │ ├── intersperse-2.tex │ │ │ ├── join-2.tex │ │ │ ├── map-2.tex │ │ │ ├── map_every-3.tex │ │ │ ├── map_intersperse-3.tex │ │ │ ├── map_join-3.tex │ │ │ ├── map_reduce-3.tex │ │ │ ├── max-3.2.tex │ │ │ ├── max-3.3.tex │ │ │ ├── max-3.tex │ │ │ ├── max_by-4.2.tex │ │ │ ├── max_by-4.3.tex │ │ │ ├── max_by-4.tex │ │ │ ├── member-2.2.tex │ │ │ ├── member-2.tex │ │ │ ├── min-3.2.tex │ │ │ ├── min-3.3.tex │ │ │ ├── min-3.tex │ │ │ ├── min_by-4.2.tex │ │ │ ├── min_by-4.3.tex │ │ │ ├── min_by-4.tex │ │ │ ├── min_max-2.2.tex │ │ │ ├── min_max-2.3.tex │ │ │ ├── min_max-2.tex │ │ │ ├── min_max_by-3.2.tex │ │ │ ├── min_max_by-3.3.tex │ │ │ ├── min_max_by-3.tex │ │ │ ├── product-1.tex │ │ │ ├── product_by-2.tex │ │ │ ├── random-1.2.tex │ │ │ ├── random-1.tex │ │ │ ├── reduce-2.2.tex │ │ │ ├── reduce-2.3.tex │ │ │ ├── reduce-2.tex │ │ │ ├── reduce-3.2.tex │ │ │ ├── reduce-3.tex │ │ │ ├── reduce_while-3.2.tex │ │ │ ├── reduce_while-3.tex │ │ │ ├── reject-2.tex │ │ │ ├── reverse-1.tex │ │ │ ├── reverse-2.tex │ │ │ ├── reverse_slice-3.tex │ │ │ ├── scan-2.tex │ │ │ ├── scan-3.tex │ │ │ ├── shuffle-1.tex │ │ │ ├── slice-2.2.tex │ │ │ ├── slice-2.tex │ │ │ ├── slice-3.2.tex │ │ │ ├── slice-3.tex │ │ │ ├── slide-3.2.tex │ │ │ ├── slide-3.3.tex │ │ │ ├── slide-3.tex │ │ │ ├── sort-1.tex │ │ │ ├── sort-2.tex │ │ │ ├── sort_by-3.tex │ │ │ ├── split-2.2.tex │ │ │ ├── split-2.tex │ │ │ ├── split_while-2.tex │ │ │ ├── split_with-2.tex │ │ │ ├── sum-1.tex │ │ │ ├── sum_by-2.tex │ │ │ ├── take-2.2.tex │ │ │ ├── take-2.tex │ │ │ ├── take_every-2.tex │ │ │ ├── take_random-2.tex │ │ │ ├── take_while-2.tex │ │ │ ├── uniq-1.tex │ │ │ ├── uniq_by-2.tex │ │ │ ├── unzip-1.tex │ │ │ ├── with_index-2.2.tex │ │ │ ├── with_index-2.tex │ │ │ ├── zip-1.tex │ │ │ ├── zip-2.tex │ │ │ ├── zip_reduce-3.tex │ │ │ ├── zip_reduce-4.tex │ │ │ ├── zip_with-2.tex │ │ │ └── zip_with-3.tex │ │ ├── Integer │ │ │ ├── Integer.tex │ │ │ ├── digits-2.tex │ │ │ ├── to_string-2.2.tex │ │ │ ├── to_string-2.tex │ │ │ ├── undigits-2.2.tex │ │ │ └── undigits-2.tex │ │ ├── Kernel │ │ │ ├── elem-2.2.tex │ │ │ ├── elem-2.tex │ │ │ ├── put_elem-3.tex │ │ │ ├── tap-2.tex │ │ │ └── then-2.tex │ │ ├── Keyword │ │ │ ├── Keyword.tex │ │ │ ├── delete-2.tex │ │ │ ├── delete_first-2.tex │ │ │ ├── drop-2.tex │ │ │ ├── fetch-2.2.tex │ │ │ ├── fetch-2.tex │ │ │ ├── fetch_-2.2.tex │ │ │ ├── fetch_-2.tex │ │ │ ├── filter-2.tex │ │ │ ├── from_keys-2.tex │ │ │ ├── get-3.2.tex │ │ │ ├── get-3.tex │ │ │ ├── get_lazy-3.2.tex │ │ │ ├── get_lazy-3.tex │ │ │ ├── get_values-2.tex │ │ │ ├── has_key_-2.2.tex │ │ │ ├── has_key_-2.tex │ │ │ ├── keys-1.tex │ │ │ ├── keyword_-1.tex │ │ │ ├── new-0.tex │ │ │ ├── new-1.tex │ │ │ ├── new-2.tex │ │ │ ├── pop-3.2.tex │ │ │ ├── pop-3.tex │ │ │ ├── pop_-2.2.tex │ │ │ ├── pop_-2.tex │ │ │ ├── pop_first-3.2.tex │ │ │ ├── pop_first-3.tex │ │ │ ├── pop_lazy-3.2.tex │ │ │ ├── pop_lazy-3.tex │ │ │ ├── pop_values-2.2.tex │ │ │ ├── pop_values-2.tex │ │ │ ├── put-3.tex │ │ │ ├── put_new-3.2.tex │ │ │ ├── put_new-3.tex │ │ │ ├── put_new_lazy-3.2.tex │ │ │ ├── put_new_lazy-3.tex │ │ │ ├── reject-2.tex │ │ │ ├── replace-3.2.tex │ │ │ ├── replace-3.tex │ │ │ ├── replace_-3.2.tex │ │ │ ├── replace_-3.tex │ │ │ ├── replace_lazy-3.2.tex │ │ │ ├── replace_lazy-3.tex │ │ │ ├── split-2.tex │ │ │ ├── take-2.tex │ │ │ ├── to_list-1.tex │ │ │ ├── update-4.2.tex │ │ │ ├── update-4.tex │ │ │ ├── update_-3.2.tex │ │ │ ├── update_-3.tex │ │ │ └── values-1.tex │ │ ├── List │ │ │ ├── List.tex │ │ │ ├── delete-2.tex │ │ │ ├── delete_at-2.2.tex │ │ │ ├── delete_at-2.tex │ │ │ ├── duplicate-2.tex │ │ │ ├── first-2.2.tex │ │ │ ├── first-2.tex │ │ │ ├── flatten-1.tex │ │ │ ├── flatten-2.tex │ │ │ ├── foldl-3.tex │ │ │ ├── foldr-3.tex │ │ │ ├── insert_at-3.2.tex │ │ │ ├── insert_at-3.tex │ │ │ ├── keydelete-3.tex │ │ │ ├── keyfind-4.2.tex │ │ │ ├── keyfind-4.tex │ │ │ ├── keymember_-3.2.tex │ │ │ ├── keymember_-3.tex │ │ │ ├── keyreplace-4.2.tex │ │ │ ├── keyreplace-4.tex │ │ │ ├── keystore-4.2.tex │ │ │ ├── keystore-4.tex │ │ │ ├── keytake-3.2.tex │ │ │ ├── keytake-3.tex │ │ │ ├── last-2.2.tex │ │ │ ├── last-2.tex │ │ │ ├── pop_at-3.2.tex │ │ │ ├── pop_at-3.3.tex │ │ │ ├── pop_at-3.tex │ │ │ ├── replace_at-3.2.tex │ │ │ ├── replace_at-3.tex │ │ │ ├── starts_with_-2.2.tex │ │ │ ├── starts_with_-2.tex │ │ │ ├── to_integer-1.tex │ │ │ ├── to_integer-2.tex │ │ │ ├── to_tuple-1.tex │ │ │ ├── update_at-3.2.tex │ │ │ ├── update_at-3.tex │ │ │ ├── wrap-1.2.tex │ │ │ ├── wrap-1.3.tex │ │ │ └── wrap-1.tex │ │ ├── Map │ │ │ ├── Map.2.tex │ │ │ ├── Map.tex │ │ │ ├── delete-2.tex │ │ │ ├── drop-2.tex │ │ │ ├── fetch-2.2.tex │ │ │ ├── fetch-2.tex │ │ │ ├── fetch_-2.2.tex │ │ │ ├── fetch_-2.tex │ │ │ ├── get-3.2.tex │ │ │ ├── get-3.tex │ │ │ ├── get_and_update-3.2.tex │ │ │ ├── get_and_update-3.3.tex │ │ │ ├── get_and_update-3.tex │ │ │ ├── get_and_update_-3.2.tex │ │ │ ├── get_and_update_-3.3.tex │ │ │ ├── get_and_update_-3.tex │ │ │ ├── get_lazy-3.2.tex │ │ │ ├── get_lazy-3.tex │ │ │ ├── has_key_-2.2.tex │ │ │ ├── has_key_-2.tex │ │ │ ├── keys-1.tex │ │ │ ├── merge-2.tex │ │ │ ├── merge-3.tex │ │ │ ├── new-0.tex │ │ │ ├── new-1.tex │ │ │ ├── new-2.tex │ │ │ ├── pop-3.2.tex │ │ │ ├── pop-3.tex │ │ │ ├── pop_-2.2.tex │ │ │ ├── pop_-2.tex │ │ │ ├── pop_lazy-3.2.tex │ │ │ ├── pop_lazy-3.tex │ │ │ ├── put-3.2.tex │ │ │ ├── put-3.tex │ │ │ ├── put_new-3.2.tex │ │ │ ├── put_new-3.tex │ │ │ ├── put_new_lazy-3.2.tex │ │ │ ├── put_new_lazy-3.tex │ │ │ ├── replace_-3.2.tex │ │ │ ├── replace_-3.tex │ │ │ ├── split-2.tex │ │ │ ├── take-2.tex │ │ │ ├── to_list-1.tex │ │ │ ├── update-4.2.tex │ │ │ ├── update-4.tex │ │ │ ├── update_-3.2.tex │ │ │ ├── update_-3.tex │ │ │ └── values-1.tex │ │ ├── MapSet │ │ │ ├── MapSet.tex │ │ │ ├── difference-2.tex │ │ │ ├── filter-2.tex │ │ │ ├── intersection-2.tex │ │ │ ├── new-0.tex │ │ │ ├── new-1.tex │ │ │ ├── new-2.tex │ │ │ ├── reject-2.tex │ │ │ ├── size-1.tex │ │ │ ├── split_with-2.tex │ │ │ ├── to_list-1.tex │ │ │ └── union-2.tex │ │ ├── Range │ │ │ ├── Range.2.tex │ │ │ ├── Range.tex │ │ │ ├── disjoint_-2.2.tex │ │ │ ├── disjoint_-2.tex │ │ │ ├── new-2.tex │ │ │ ├── new-3.tex │ │ │ └── to_list-1.tex │ │ ├── Stream │ │ │ ├── Stream.tex │ │ │ ├── chunk_by-2.tex │ │ │ ├── chunk_every-2.tex │ │ │ ├── chunk_every-4.tex │ │ │ ├── chunk_while-4.2.tex │ │ │ ├── chunk_while-4.tex │ │ │ ├── cycle-1.tex │ │ │ ├── dedup-1.tex │ │ │ ├── dedup_by-2.tex │ │ │ ├── drop-2.2.tex │ │ │ ├── drop-2.tex │ │ │ ├── drop_every-2.tex │ │ │ ├── drop_while-2.tex │ │ │ ├── each-2.tex │ │ │ ├── filter-2.tex │ │ │ ├── flat_map-2.tex │ │ │ ├── intersperse-2.tex │ │ │ ├── interval-1.tex │ │ │ ├── iterate-2.tex │ │ │ ├── map-2.tex │ │ │ ├── map_every-3.tex │ │ │ ├── reject-2.tex │ │ │ ├── repeatedly-1.tex │ │ │ ├── resource-3.tex │ │ │ ├── run-1.tex │ │ │ ├── scan-2.tex │ │ │ ├── scan-3.tex │ │ │ ├── take-2.2.tex │ │ │ ├── take-2.tex │ │ │ ├── take_every-2.tex │ │ │ ├── take_random-2.tex │ │ │ ├── take_while-2.tex │ │ │ ├── timer-1.tex │ │ │ ├── transform-3.tex │ │ │ ├── transform-4.tex │ │ │ ├── unfold-2.2.tex │ │ │ ├── unfold-2.tex │ │ │ ├── uniq-1.tex │ │ │ ├── uniq_by-2.tex │ │ │ ├── with_index-2.2.tex │ │ │ ├── with_index-2.tex │ │ │ ├── zip-1.tex │ │ │ └── zip-2.tex │ │ └── Tuple │ │ │ ├── Tuple.tex │ │ │ ├── append-2.tex │ │ │ ├── delete_at-2.2.tex │ │ │ ├── delete_at-2.tex │ │ │ ├── duplicate-2.tex │ │ │ ├── insert_at-3.tex │ │ │ ├── product-1.2.tex │ │ │ ├── product-1.tex │ │ │ ├── sum-1.2.tex │ │ │ ├── sum-1.tex │ │ │ └── to_list-1.tex │ └── shared │ │ ├── footer.tex │ │ ├── header.tex │ │ └── preamble.tex └── scss │ └── main.scss ├── config ├── _default │ └── config.toml ├── development │ └── config.toml └── production │ └── config.toml ├── content └── en │ ├── _index.md │ └── functions │ ├── Atom │ ├── _index.md │ ├── to_charlist-1.md │ └── to_string-1.md │ ├── Enum │ ├── _index.md │ ├── all_-1.md │ ├── all_-2.md │ ├── any_-1.md │ ├── any_-2.md │ ├── at-3.md │ ├── chunk_by-2.md │ ├── chunk_every-2.md │ ├── chunk_every-4.md │ ├── chunk_while-4.md │ ├── concat-1.md │ ├── concat-2.md │ ├── count-1.md │ ├── count-2.md │ ├── count_until-2.md │ ├── count_until-3.md │ ├── dedup-1.md │ ├── dedup_by-2.md │ ├── drop-2.md │ ├── drop_every-2.md │ ├── drop_while-2.md │ ├── each-2.md │ ├── empty_-1.md │ ├── fetch-2.md │ ├── fetch_-2.md │ ├── filter-2.md │ ├── find-3.md │ ├── find_index-2.md │ ├── find_value-3.md │ ├── flat_map-2.md │ ├── flat_map_reduce-3.md │ ├── frequencies-1.md │ ├── frequencies_by-2.md │ ├── group_by-3.md │ ├── intersperse-2.md │ ├── into-2.md │ ├── into-3.md │ ├── join-2.md │ ├── map-2.md │ ├── map_every-3.md │ ├── map_intersperse-3.md │ ├── map_join-3.md │ ├── map_reduce-3.md │ ├── max-3.md │ ├── max_by-4.md │ ├── member_-2.md │ ├── min-3.md │ ├── min_by-4.md │ ├── min_max-2.md │ ├── min_max_by-3.md │ ├── product-1.md │ ├── product_by-2.md │ ├── random-1.md │ ├── reduce-2.md │ ├── reduce-3.md │ ├── reduce_while-3.md │ ├── reject-2.md │ ├── reverse-1.md │ ├── reverse-2.md │ ├── reverse_slice-3.md │ ├── scan-2.md │ ├── scan-3.md │ ├── shuffle-1.md │ ├── slice-2.md │ ├── slice-3.md │ ├── slide-3.md │ ├── sort-1.md │ ├── sort-2.md │ ├── sort_by-3.md │ ├── split-2.md │ ├── split_while-2.md │ ├── split_with-2.md │ ├── sum-1.md │ ├── sum_by-2.md │ ├── take-2.md │ ├── take_every-2.md │ ├── take_random-2.md │ ├── take_while-2.md │ ├── to_list-1.md │ ├── uniq-1.md │ ├── uniq_by-2.md │ ├── unzip-1.md │ ├── with_index-2.md │ ├── zip-1.md │ ├── zip-2.md │ ├── zip_reduce-3.md │ ├── zip_reduce-4.md │ ├── zip_with-2.md │ └── zip_with-3.md │ ├── Integer │ ├── _index.md │ ├── digits-2.md │ ├── floor_div-2.md │ ├── gcd-2.md │ ├── mod-2.md │ ├── parse-2.md │ ├── to_charlist-1.md │ ├── to_charlist-2.md │ ├── to_string-2.md │ └── undigits-2.md │ ├── Kernel │ ├── _index.md │ ├── elem-2.md │ ├── put_elem-3.md │ ├── tap-2.md │ └── then-2.md │ ├── Keyword │ ├── _index.md │ ├── delete-2.md │ ├── delete_first-2.md │ ├── drop-2.md │ ├── equal_-2.md │ ├── fetch-2.md │ ├── fetch_-2.md │ ├── filter-2.md │ ├── from_keys-2.md │ ├── get-3.md │ ├── get_and_update-3.md │ ├── get_and_update_-3.md │ ├── get_lazy-3.md │ ├── get_values-2.md │ ├── has_key_-2.md │ ├── keys-1.md │ ├── keyword_-1.md │ ├── merge-2.md │ ├── merge-3.md │ ├── new-0.md │ ├── new-1.md │ ├── new-2.md │ ├── pop-3.md │ ├── pop_-2.md │ ├── pop_first-3.md │ ├── pop_lazy-3.md │ ├── pop_values-2.md │ ├── put-3.md │ ├── put_new-3.md │ ├── put_new_lazy-3.md │ ├── reject-2.md │ ├── replace-3.md │ ├── replace_-3.md │ ├── replace_lazy-3.md │ ├── split-2.md │ ├── take-2.md │ ├── to_list-1.md │ ├── update-4.md │ ├── update_-3.md │ └── values-1.md │ ├── List │ ├── _index.md │ ├── ascii_printable_-2.md │ ├── delete-2.md │ ├── delete_at-2.md │ ├── duplicate-2.md │ ├── first-2.md │ ├── flatten-1.md │ ├── flatten-2.md │ ├── foldl-3.md │ ├── foldr-3.md │ ├── improper_-1.md │ ├── insert_at-3.md │ ├── keydelete-3.md │ ├── keyfind-4.md │ ├── keymember_-3.md │ ├── keyreplace-4.md │ ├── keysort-2.md │ ├── keystore-4.md │ ├── keytake-3.md │ ├── last-2.md │ ├── myers_difference-2.md │ ├── myers_difference-3.md │ ├── pop_at-3.md │ ├── replace_at-3.md │ ├── starts_with_-2.md │ ├── to_atom-1.md │ ├── to_charlist-1.md │ ├── to_existing_atom-1.md │ ├── to_float-1.md │ ├── to_integer-1.md │ ├── to_integer-2.md │ ├── to_string-1.md │ ├── to_tuple-1.md │ ├── update_at-3.md │ └── wrap-1.md │ ├── Map │ ├── _index.md │ ├── delete-2.md │ ├── drop-2.md │ ├── equal_-2.md │ ├── fetch-2.md │ ├── fetch_-2.md │ ├── from_struct-1.md │ ├── get-3.md │ ├── get_and_update-3.md │ ├── get_and_update_-3.md │ ├── get_lazy-3.md │ ├── has_key_-2.md │ ├── keys-1.md │ ├── merge-2.md │ ├── merge-3.md │ ├── new-0.md │ ├── new-1.md │ ├── new-2.md │ ├── pop-3.md │ ├── pop_-2.md │ ├── pop_lazy-3.md │ ├── put-3.md │ ├── put_new-3.md │ ├── put_new_lazy-3.md │ ├── replace_-3.md │ ├── split-2.md │ ├── take-2.md │ ├── to_list-1.md │ ├── update-4.md │ ├── update_-3.md │ └── values-1.md │ ├── MapSet │ ├── _index.md │ ├── delete-2.md │ ├── difference-2.md │ ├── disjoint_-2.md │ ├── equal_-2.md │ ├── filter-2.md │ ├── intersection-2.md │ ├── member_-2.md │ ├── new-0.md │ ├── new-1.md │ ├── new-2.md │ ├── put-2.md │ ├── reject-2.md │ ├── size-1.md │ ├── split_with-2.md │ ├── subset_-2.md │ ├── to_list-1.md │ └── union-2.md │ ├── Range │ ├── _index.md │ ├── disjoint_-2.md │ ├── new-2.md │ ├── new-3.md │ └── to_list-1.md │ ├── Stream │ ├── _index.md │ ├── chunk_by-2.md │ ├── chunk_every-2.md │ ├── chunk_every-4.md │ ├── chunk_while-4.md │ ├── concat-1.md │ ├── concat-2.md │ ├── cycle-1.md │ ├── dedup-1.md │ ├── dedup_by-2.md │ ├── drop-2.md │ ├── drop_every-2.md │ ├── drop_while-2.md │ ├── each-2.md │ ├── filter-2.md │ ├── flat_map-2.md │ ├── intersperse-2.md │ ├── interval-1.md │ ├── into-3.md │ ├── iterate-2.md │ ├── map-2.md │ ├── map_every-3.md │ ├── reject-2.md │ ├── repeatedly-1.md │ ├── resource-3.md │ ├── run-1.md │ ├── scan-2.md │ ├── scan-3.md │ ├── take-2.md │ ├── take_every-2.md │ ├── take_while-2.md │ ├── timer-1.md │ ├── transform-3.md │ ├── transform-4.md │ ├── unfold-2.md │ ├── uniq-1.md │ ├── uniq_by-2.md │ ├── with_index-2.md │ ├── zip-1.md │ └── zip-2.md │ ├── String │ ├── _index.md │ ├── at-2.md │ ├── bag_distance-2.md │ ├── capitalize-2.md │ ├── chunk-2.md │ ├── codepoints-1.md │ ├── contains_-2.md │ ├── downcase-2.md │ ├── duplicate-2.md │ ├── ends_with_-2.md │ ├── equivalent_-2.md │ ├── first-1.md │ ├── graphemes-1.md │ ├── jaro_distance-2.md │ ├── last-1.md │ ├── length-1.md │ ├── match_-2.md │ ├── myers_difference-2.md │ ├── next_codepoint-1.md │ ├── next_grapheme-1.md │ ├── next_grapheme_size-1.md │ ├── normalize-2.md │ ├── pad_leading-3.md │ ├── pad_trailing-3.md │ ├── printable_-2.md │ ├── replace-4.md │ ├── replace_leading-3.md │ ├── replace_prefix-3.md │ ├── replace_suffix-3.md │ ├── replace_trailing-3.md │ ├── reverse-1.md │ ├── slice-2.md │ ├── slice-3.md │ ├── split-1.md │ ├── split-3.md │ ├── split_at-2.md │ ├── splitter-3.md │ ├── starts_with_-2.md │ ├── to_atom-1.md │ ├── to_charlist-1.md │ ├── to_existing_atom-1.md │ ├── to_float-1.md │ ├── to_integer-1.md │ ├── to_integer-2.md │ ├── trim-1.md │ ├── trim-2.md │ ├── trim_leading-1.md │ ├── trim_leading-2.md │ ├── trim_trailing-1.md │ ├── trim_trailing-2.md │ ├── upcase-2.md │ └── valid_-1.md │ ├── Tuple │ ├── _index.md │ ├── append-2.md │ ├── delete_at-2.md │ ├── duplicate-2.md │ ├── insert_at-3.md │ ├── product-1.md │ ├── sum-1.md │ └── to_list-1.md │ └── _index.md ├── data ├── contributors.yaml └── signatures.yaml ├── entrypoint.sh ├── i18n ├── en.toml ├── es.toml ├── ja.toml └── pt.toml ├── layouts ├── 404.html ├── _default │ └── baseof.html ├── functions │ ├── list.html │ └── single.html ├── home.html ├── partials │ ├── footer.html │ ├── ga.html │ ├── header.html │ ├── safe_function_url.html │ └── translations.html └── shortcodes │ ├── figure.html │ └── signature.html ├── run.sh ├── static ├── images │ ├── elixir-logo-144x144.png │ ├── elixir-logo-16x16.png │ ├── elixir-logo-57x57.png │ ├── elixir-logo-72x72.png │ ├── elixir-logo.png │ └── logo.svg └── scripts │ └── search.js └── tikzlibraryfunprog.code.tex /.dockerignore: -------------------------------------------------------------------------------- 1 | .git/ 2 | .resources/ 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | public/ 2 | resources/ 3 | static/images/functions/ 4 | .hugo_build.lock 5 | 6 | -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | hugo extended_0.125.7 2 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM superruzafa/tinytex:0.6.0 2 | 3 | RUN apk update && \ 4 | apk add \ 5 | make \ 6 | hugo \ 7 | inotify-tools 8 | 9 | RUN tlmgr update --self 10 | RUN tlmgr install standalone 11 | RUN tlmgr install pgf 12 | 13 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: 'Build site' 2 | runs: 3 | using: 'docker' 4 | image: 'Dockerfile' 5 | -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .Name "-" " " | title }}" 3 | date: {{ .Date }} 4 | draft: true 5 | --- 6 | 7 | -------------------------------------------------------------------------------- /assets/images/functions/Atom/Atom.tex: -------------------------------------------------------------------------------- 1 | \node (atom) {\texttt{:atom}}; 2 | 3 | \node [below right=.5 and 1 of atom, rotate=10] {\texttt{:ok}}; 4 | \node [above left=.25 and .25 of atom, rotate=-15] {\texttt{:error}}; 5 | \node [below left=.15 and .75 of atom, rotate=15] {\texttt{true}}; 6 | \node [above right=.15 and .66 of atom, rotate=-12.5] {\texttt{Elixir}}; 7 | \node [below=.75 of atom, rotate=5] {\texttt{nil}}; 8 | \node [above=.75 of atom, rotate=-5] {\texttt{false}}; 9 | -------------------------------------------------------------------------------- /assets/images/functions/Atom/to_charlist-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=b] { 2 | \node {\texttt{?a}}; & 3 | \node {\texttt{?t}}; & 4 | \node {\texttt{?o}}; & 5 | \node {\texttt{?m}}; \\ 6 | }; 7 | 8 | \node (a) [above=2 of list b] {\texttt{:atom}}; 9 | \draw [->] (a) -- (list b); 10 | 11 | -------------------------------------------------------------------------------- /assets/images/functions/Atom/to_string-1.tex: -------------------------------------------------------------------------------- 1 | \node (a) {\texttt{:atom}}; 2 | \node (b) [below=2 of a] {\texttt{"atom"}}; 3 | \draw [->] (a) -- (b); 4 | 5 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/Enum.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=i]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [measure={$n$}] (a1.north west) -- (an.north east); 11 | 12 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/all_-1.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node (a1) {\true}; & 3 | \node (a2) {\true}; & 4 | \node [elements between]; & 5 | \node (ai) {\false}; & 6 | \node [elements after]; \\ 7 | }; 8 | 9 | \draw [enter iteration] (a1.north); 10 | \draw [iteration] (a1.north) -- (a2.north); 11 | \draw [iteration=dashed] (a2.north) -- (ai.north); 12 | 13 | \draw [->] (ai.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 14 | node [below, anchor=north] {\false}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/all_-1.3.tex: -------------------------------------------------------------------------------- 1 | all_-2.3.tex -------------------------------------------------------------------------------- /assets/images/functions/Enum/all_-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node (a1) {\true}; & 3 | \node (a2) {\texttt{:atom}}; & 4 | \node [elements between]; & 5 | \node (an) {$1$}; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 13 | node [below, anchor=north] {\true}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/all_-2.3.tex: -------------------------------------------------------------------------------- 1 | \node [empty collection=a]; 2 | \draw [->] (empty collection a.south) -- +(0, -1) 3 | node [below] {\true}; 4 | 5 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/all_-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \foreach \i/\r in {1,2,n}{ 13 | \applyfuntop{a\i.north}{\texttt{fun}}{\true} 14 | } 15 | 16 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 17 | node [below, anchor=north] {\true}; 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/any_-1.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node (a1) {\false}; & 3 | \node (a2) {\nil}; & 4 | \node [elements between]; & 5 | \node (an) {\false}; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 13 | node [below, anchor=north] {\false}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/any_-1.3.tex: -------------------------------------------------------------------------------- 1 | any_-2.3.tex -------------------------------------------------------------------------------- /assets/images/functions/Enum/any_-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node (a1) {\false} ; & 3 | \node (a2) {\nil}; & 4 | \node [elements between]; & 5 | \node (ai) {\true}; & 6 | \node [elements after]; \\ 7 | }; 8 | 9 | \draw [enter iteration] (a1.north); 10 | \draw [iteration] (a1.north) -- (a2.north); 11 | \draw [iteration=dashed] (a2.north) -- (ai.north); 12 | 13 | \draw [->] (ai.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 14 | node [below, anchor=north] {\true}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/any_-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \foreach \i/\r in {1,2,n}{ 13 | \applyfuntop{a\i.north}{\texttt{fun}}{\false} 14 | } 15 | 16 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 17 | node [below, anchor=north] {\false}; 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/any_-2.3.tex: -------------------------------------------------------------------------------- 1 | \node [empty collection=a]; 2 | \draw [->] (empty collection a.south) -- +(0, -1) 3 | node [below] {\false}; 4 | 5 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/at-3.3.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=0]; & 3 | \node [index=1]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [measure={$<\texttt{index}$}, measure below] (a0.south west) -- (an.south east); 9 | 10 | \draw [enter iteration] (a0.north); 11 | \draw [iteration] (a0.north) -- (a1.north); 12 | \draw [iteration=dashed] (a1.north) -- (an.north); 13 | 14 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 15 | node [below, anchor=north] {\texttt{default}}; 16 | 17 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/at-3.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=0]; & 3 | \node [index=1]; & 4 | \node [elements between]; & 5 | \node (aindex) {$a_{\texttt{\small{index}}}$}; & 6 | \node [elements after]; \\ 7 | }; 8 | 9 | \draw [enter iteration] (a0.north); 10 | \draw [iteration] (a0.north) -- (a1.north); 11 | \draw [iteration=dashed] (a1.north) -- (aindex.north); 12 | 13 | \draw [->] (aindex.south) -- +(0, -1) 14 | node [below, anchor=north] {$a_{\texttt{\small{index}}}$}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/count-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [measure={$n$}, measure amplitude=-5mm] (a1.south west) -- (an.south east); 9 | \draw [->] (last measure label) -- +(0, -1) node [below] {$n$}; 10 | 11 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/count_until-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (alimit) {$a_{\texttt{\small{limit}}}$}; & 6 | \node [elements after]; \\ 7 | }; 8 | 9 | \draw [enter iteration] (a1.north); 10 | \draw [iteration] (a1.north) -- (a2.north); 11 | \draw [iteration=dashed] (a2.north) -- (alimit.north); 12 | 13 | \draw [->] (alimit.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 14 | node [below, anchor=north] {\texttt{limit}}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/each-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \foreach \i in {1, 2, n}{ 13 | \applyfuntop{a\i.north}{\texttt{fun}}{$b_\i$} 14 | } 15 | 16 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 17 | node [below, anchor=north] {\ok}; 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/empty-1.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [measure=$n>0$, measure position=below] (list a.south west) -- (list a.south east); 9 | 10 | \draw [->] (last measure label) -- +(0, -1) 11 | node [below] {\false}; 12 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/empty-1.tex: -------------------------------------------------------------------------------- 1 | \node [empty collection=a]; 2 | \draw (empty collection a.south west) -- ++ (0, -.25) -- ++ (-1, -.5) -- ++(0, -.125) coordinate (a) -- ++(0, -.125); 3 | \draw (empty collection a.south east) -- ++ (0, -.25) -- ++ (1, -.5) -- ++(0, -.125) coordinate (b) -- ++(0, -.125); 4 | \draw [measure=$0$, measure amplitude=0] (a) -- (b); 5 | 6 | \draw [->] (last measure label) -- +(0, -1) 7 | node [below] {\true}; 8 | 9 | 10 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/fetch-2.3.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=0]; & 3 | \node [index=1]; & 4 | \node [elements between]; & 5 | \node (an) {$a_n$}; \\ 6 | }; 7 | 8 | \draw [measure={$<\texttt{index}$}, measure below] (list a.south west) -- (list a.south east); 9 | 10 | \draw [enter iteration] (a0.north); 11 | \draw [iteration] (a0.north) -- (a1.north); 12 | \draw [iteration=dashed] (a1.north) -- (an.north); 13 | 14 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 15 | node [below, anchor=north] {\error}; 16 | 17 | 18 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/fetch-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=0]; & 3 | \node [index=1]; & 4 | \node [elements between]; & 5 | \node (ai) {$a_{\small{\texttt{index}}}$}; & 6 | \node [elements between]; \\ 7 | }; 8 | 9 | \draw [enter iteration] (a0.north); 10 | \draw [iteration] (a0.north) -- (a1.north); 11 | \draw [iteration=dashed] (a1.north) -- (ai.north); 12 | 13 | \draw [->] (ai.south) -- +(0, -1) 14 | node [below] {\{\ok,\,$a_{\small{\texttt{index}}}$\}}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/fetch_-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=0]; & 3 | \node [index=1]; & 4 | \node [elements between]; & 5 | \node (aindex) {$a_{\small\texttt{index}}$}; & 6 | \node [elements after]; \\ 7 | }; 8 | 9 | \draw [enter iteration] (a0.north); 10 | \draw [iteration] (a0.north) -- (a1.north); 11 | \draw [iteration=dashed] (a1.north) -- (aindex.north); 12 | 13 | \draw [->] (aindex.south) -- +(0, -1) 14 | node [below, anchor=north] {$a_{\small\texttt{index}}$}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/find-3.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \foreach \i in {1, 2, n}{ 13 | \applyfuntop{a\i.north}{\texttt{fun}}{\false} 14 | } 15 | 16 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 17 | node [below, anchor=north] {\texttt{default}}; 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/find_index-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=0]; & 3 | \node [index=1]; & 4 | \node [elements between]; & 5 | \node (ai-j) {$a_n$}; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a0.north); 9 | \draw [iteration] (a0.north) -- (a1.north); 10 | \draw [iteration=dashed] (a1.north) -- (ai-j.north); 11 | 12 | \foreach \i in {0, 1, i-j}{ 13 | \applyfuntop{a\i.north}{\texttt{fun}}{\false} 14 | } 15 | 16 | \draw [->] (ai-j.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 17 | node [below, anchor=north] {\nil}; 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/max-3.2.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \draw [->] (fun.out) -- +(0, -1) 14 | node [below] {$b$}; 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/max-3.3.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \node (b) [exception, draw, below right=1 and 1 of fun, anchor=north] {\texttt{Enum.EmptyError}}; 14 | \draw [exception, ->, out=0, in=90] (fun.east) to (b.north); 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/max_by-4.2.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \draw [->] (fun.out) -- +(0, -1) 14 | node [below] {$b$}; 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/max_by-4.3.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \node (b) [exception, draw, below right=1 and 1 of fun, anchor=north] {\texttt{Enum.EmptyError}}; 14 | \draw [exception, ->, out=0, in=90] (fun.east) to (b.north); 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/member-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 13 | node [below, anchor=north] {\false}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/member-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (aelem) {\texttt{elem}}; & 6 | \node [elements after]; \\ 7 | }; 8 | 9 | \draw [enter iteration] (a1.north); 10 | \draw [iteration] (a1.north) -- (a2.north); 11 | \draw [iteration=dashed] (a2.north) -- (aelem.north); 12 | 13 | \draw [->] (aelem.south) -- +(0, -1) 14 | node [below] {\true}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/min-3.2.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \draw [->] (fun.out) -- +(0, -1) 14 | node [below] {$b$}; 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/min-3.3.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \node (b) [exception, draw, below right=1 and 1 of fun, anchor=north] {\texttt{Enum.EmptyError}}; 14 | \draw [exception, ->, out=0, in=90] (fun.east) to (b.north); 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/min_by-4.2.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \draw [->] (fun.out) -- +(0, -1) 14 | node [below] {$b$}; 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/min_by-4.3.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \node (b) [exception, draw, below right=1 and 1 of fun, anchor=north] {\texttt{Enum.EmptyError}}; 14 | \draw [exception, ->, out=0, in=90] (fun.east) to (b.north); 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/min_max-2.2.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \draw [->] (fun.out) -- +(0, -1) 14 | node [below] {$b$}; 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/min_max-2.3.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \node (b) [exception, draw, below right=1 and 1 of fun, anchor=north] {\texttt{Enum.EmptyError}}; 14 | \draw [exception, ->, out=0, in=90] (fun.east) to (b.north); 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/min_max-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \node (b) [below=2 of list a] {\{$a_{min}$,\,$a_{max}$\}}; 9 | 10 | \node at ($ (list a.south)!.5!(b.north) $) {$\Downarrow$}; 11 | 12 | \matrix [ 13 | matrix of math nodes, 14 | nodes={}, 15 | row sep=1, 16 | left delimiter=\{, 17 | right=of b 18 | ] { 19 | a_{min} \leq a_i,\, i \in [1, n] \\ 20 | a_{max} \geq a_i,\, i \in [1, n] \\ 21 | }; 22 | 23 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/min_max_by-3.2.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \draw [->] (fun.out) -- +(0, -1) 14 | node [below] {$b$}; 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/min_max_by-3.3.tex: -------------------------------------------------------------------------------- 1 | \tikzset{ 2 | empty fallback/.style={ 3 | fun={\texttt{empty}\\\texttt{fallback}}, 4 | function arity=0, 5 | align=center, 6 | } 7 | } 8 | 9 | \node [empty collection=a]; 10 | \node (arrow) [base right=.5 of empty collection a] {$\Rightarrow$}; 11 | \node (fun) [empty fallback, right=.5 of arrow]; 12 | 13 | \node (b) [exception, draw, below right=1 and 1 of fun, anchor=north] {\texttt{Enum.EmptyError}}; 14 | \draw [exception, ->, out=0, in=90] (fun.east) to (b.north); 15 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/product-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [brace] (an.south east) -- (a1.south west); 9 | 10 | \draw [->] (last brace) -- +(0, -1) 11 | node [below] 12 | {$a_1 \cdot a_2 \cdot \dots \cdot a_n = \displaystyle\prod_{i=1}^n a_i$}; 13 | 14 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/random-1.2.tex: -------------------------------------------------------------------------------- 1 | \node (a) [empty collection]; 2 | 3 | \node (b) [exception, draw, below right=1 and 1 of a, anchor=north] {\texttt{Enum.EmptyError}}; 4 | \draw [exception, ->, out=0, in=90] (a.east) to (b.north); 5 | 6 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/random-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [brace] (an.south east) -- (a1.south west); 9 | 10 | 11 | \draw [->] (last brace) -- +(0, -1) 12 | node (b) [below, inner xsep=0, outer sep=0] {$a_i$}; 13 | 14 | \node [base right=0 of b] {$\in \texttt{enumerable}$}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/reduce-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; \\ 3 | }; 4 | 5 | \draw [->] (a1.south) -- +(0, -1) 6 | node [below] {$a_1$}; 7 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/reduce-2.3.tex: -------------------------------------------------------------------------------- 1 | \node (a) [empty collection]; 2 | 3 | \node (b) [exception, draw, below right=1 and 1 of a, anchor=north] {\texttt{Enum.EmptyError}}; 4 | \draw [exception, ->, out=0, in=90] (a.east) to (b.north); 5 | 6 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/reduce-3.2.tex: -------------------------------------------------------------------------------- 1 | \node [empty collection=a]; 2 | 3 | \node (acc) [base left=1 of empty collection a.base] {\texttt{acc}}; 4 | \draw [->] (acc.south) -- +(0, -1) 5 | node [below] {\texttt{acc}}; 6 | 7 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/reverse-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [list=b, element=a, below=2 of list a] { 9 | \node [index=n]; & 10 | \node [elements between]; & 11 | \node [index=2]; & 12 | \node [index=1]; \\ 13 | }; 14 | 15 | \foreach \i in {1,2,n}{ 16 | \draw [->] [out=270, in=90] (a\i.south) to (b\i.north); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Enum/sum-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [brace] (an.south east) -- (a1.south west); 9 | 10 | \draw [->] (last brace) -- +(0, -1) 11 | node [below] 12 | {$a_1 + a_2 + \dots + a_n = \displaystyle\sum_{i=1}^n a_i$}; 13 | 14 | -------------------------------------------------------------------------------- /assets/images/functions/Integer/Integer.tex: -------------------------------------------------------------------------------- 1 | \node (integer) {\texttt{1}}; 2 | 3 | \node [above right=.5 and 1 of integer, rotate=10] {\texttt{1\_234\_567}}; 4 | \node [above left=.25 and .25 of integer, rotate=-15] {\texttt{-999}}; 5 | \node [below=.75 of integer, rotate=5] {\texttt{882\_681\_651}}; 6 | -------------------------------------------------------------------------------- /assets/images/functions/Integer/digits-2.tex: -------------------------------------------------------------------------------- 1 | \node (a) {$1\_234$}; 2 | 3 | \matrix [list=b, below=2 of a] { 4 | \node {$1$}; & 5 | \node {$2$}; & 6 | \node {$3$}; & 7 | \node {$4$}; \\ 8 | }; 9 | 10 | \node at ($ (a.south)!.5!(list b.north) $) {$\Downarrow$}; 11 | 12 | -------------------------------------------------------------------------------- /assets/images/functions/Integer/to_string-2.2.tex: -------------------------------------------------------------------------------- 1 | \def\base{\texttt{base}} 2 | 3 | \node (a) {$d_{n-1}\ldots d_1d_0$}; 4 | \node (b) [below=2 of a] {$d_0\cdot\base^0+d_1\cdot\base^1+\ldots+d_{n-1}\cdot\base^{n-1}=\displaystyle\sum_{i=0}^{n-1}d_i\cdot\base^i$}; 5 | \node (c) [below=2 of b] {$``s_{m-1}\ldots s_1s_0"$}; 6 | 7 | \node at ($ (a.south)!.5!(b.north) $) {$\Downarrow$}; 8 | \node at ($ (b.south)!.5!(c.north) $) {$\Downarrow$}; 9 | 10 | -------------------------------------------------------------------------------- /assets/images/functions/Integer/to_string-2.tex: -------------------------------------------------------------------------------- 1 | \def\base{10} 2 | 3 | \node (a) {$d_{n-1}\ldots d_1d_0$}; 4 | \node (b) [below=2 of a] {$``d_{n-1}\ldots d_1d_0"$}; 5 | \node at ($ (a.south)!.5!(b.north) $) {$\Downarrow$}; 6 | 7 | -------------------------------------------------------------------------------- /assets/images/functions/Kernel/tap-2.tex: -------------------------------------------------------------------------------- 1 | \node (a) {$a$}; 2 | \node (b) [below=2 of a] {$a$}; 3 | \node (fun) [fun, right=1 of $ (a)!.5!(b) $]; 4 | \draw [->] (a.south) -- (b.north); 5 | \draw [->] ($ (a)!.2!(b) $) -| (fun.in); 6 | -------------------------------------------------------------------------------- /assets/images/functions/Kernel/then-2.tex: -------------------------------------------------------------------------------- 1 | \node (fun) [fun]; 2 | \draw [<-] (fun.in) -- +(0, 1) node [above] {$a$}; 3 | \draw [->] (fun.out) -- +(0, -1) node [below] {$b$}; 4 | 5 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/fetch-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 13 | node [below, anchor=north] {\error}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/fetch_-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \draw [exception, ->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) coordinate (b); 13 | \node at (b) [exception, draw, below, anchor=north] {\texttt{KeyError}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/from_keys-2.tex: -------------------------------------------------------------------------------- 1 | \def\value{\texttt{value}} 2 | 3 | \matrix [list=k] { 4 | \node [index=1]; & 5 | \node [index=2]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \matrix [keyword list=b, below=1 of list k] { 11 | \node (b1) [key value={$k_1$}{\value}]; & 12 | \node (b2) [key value={$k_2$}{\value}]; & 13 | \node [elements between]; & 14 | \node (bn) [key value={$k_n$}{\value}]; \\ 15 | }; 16 | 17 | \foreach \i in {1,2,n}{ 18 | \draw [->] (k\i.south) -- (b\i.north); 19 | } 20 | 21 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/get-3.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 13 | node [below, anchor=north] {\texttt{default}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/get-3.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (ai) [key value={\key}{$\vkey$}]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [enter iteration] (a1.north); 11 | \draw [iteration] (a1.north) -- (a2.north); 12 | \draw [iteration=dashed] (a2.north) -- (ai.north); 13 | 14 | \draw [->] (ai.south) -- +(0, -1) 15 | node [below] {$\vkey$}; 16 | 17 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/get_lazy-3.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (ai) [key value={\key}{$\vkey$}]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [enter iteration] (a1.north); 11 | \draw [iteration] (a1.north) -- (a2.north); 12 | \draw [iteration=dashed] (a2.north) -- (ai.north); 13 | 14 | \draw [->] (ai.south) -- +(0, -1) 15 | node [below] {$\vkey$}; 16 | 17 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/has_key_-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration] (a2.north) -- (an.north); 11 | 12 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 13 | node [below, anchor=north] {\false}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/has_key_-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (akey) [key value={\key}{$\vkey$}]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [enter iteration] (a1.north); 11 | \draw [iteration] (a1.north) -- (a2.north); 12 | \draw [iteration=dashed] (a2.north) -- (akey.north); 13 | 14 | \draw [->] (akey.south) -- +(0, -1) 15 | node [below] {\true}; 16 | 17 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/keys-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [list=k, below=2 of keyword list a] { 9 | \node [index=1]; & 10 | \node [index=2]; & 11 | \node [elements between]; & 12 | \node [index=n]; \\ 13 | }; 14 | 15 | \foreach \i in {1, 2, n}{ 16 | \draw [->] (a\i.south) -- (k\i.north); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/keyword_-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [key value={$k_1$}{$v_1$}]; & 3 | \node [key value={$k_2$}{$v_2$}]; & 4 | \node [elements between]; & 5 | \node [key value={$k_n$}{$v_n$}]; \\ 6 | }; 7 | 8 | \node (true) [below=2 of keyword list a] {\true}; 9 | \node at ($ (true.north)!.5!(keyword list a.south) $) {$\Downarrow$}; 10 | 11 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/new-0.tex: -------------------------------------------------------------------------------- 1 | \draw [->] (0, 0) -- (0, -1) 2 | node [below, empty collection]; 3 | 4 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/to_list-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [keyword list=b, below=2 of keyword list a] { 9 | \node [index=1]; & 10 | \node [index=2]; & 11 | \node [elements between]; & 12 | \node [index=n]; \\ 13 | }; 14 | 15 | \bracetobrace 16 | {an.south east}{a1.south west} 17 | {b1.north west}{bn.north east} 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/update_-3.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration=dashed] (a2.north) -- (an.north); 11 | 12 | \draw [exception, ->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) coordinate (b); 13 | \node at (b) [exception, draw, below, anchor=north] {\texttt{KeyError}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Keyword/values-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [keyword list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [list=v, below=2 of keyword list a] { 9 | \node [index=1]; & 10 | \node [index=2]; & 11 | \node [elements between]; & 12 | \node [index=n]; \\ 13 | }; 14 | 15 | \foreach \i in {1, 2, n}{ 16 | \draw [->] (a\i.south) -- (v\i.north); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/List/List.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=i]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [<-] (a1.north) -- +(0, .5) 11 | node [above] {head}; 12 | 13 | \draw [brace] (a2.north west) -- (an.north east); 14 | \node at (last brace) [above] {tail}; 15 | 16 | \draw [measure={$n$}, measure position=below] (a1.south west) -- (an.south east); 17 | 18 | -------------------------------------------------------------------------------- /assets/images/functions/List/duplicate-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node (a1) {\texttt{elem}}; & 3 | \node (a2) {\texttt{elem}}; & 4 | \node [elements between]; & 5 | \node (an) {\texttt{elem}}; \\ 6 | }; 7 | 8 | \draw [measure=\texttt{count}] (a1.north west) -- (an.north east); 9 | 10 | \node [above=1 of list a] {$\Downarrow$}; 11 | 12 | -------------------------------------------------------------------------------- /assets/images/functions/List/first-2.2.tex: -------------------------------------------------------------------------------- 1 | \node (a) [empty collection]; 2 | \draw [->] (a.south) -- +(0, -1) 3 | node [below] {\texttt{default}}; 4 | 5 | -------------------------------------------------------------------------------- /assets/images/functions/List/first-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [->] (a1.south) -- +(0, -1) 9 | node [below] {$a_1$}; 10 | -------------------------------------------------------------------------------- /assets/images/functions/List/keytake-3.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node (a) {$\{a_1,\ldots,a_{\small\texttt{index}},\ldots,a_n\}$}; & 3 | \node [elements between]; & 4 | \node (z) {$\{z_1,\ldots,z_{\small\texttt{index}},\ldots,z_n\}$}; \\ 5 | }; 6 | 7 | \draw [enter iteration] (a.north); 8 | \draw [iteration=dashed] (a.north) -- (z.north); 9 | 10 | \node (b) [below right=1 and 1 of list a, anchor=north] {\nil}; 11 | \draw [->] (z.north) .. controls +(1, 1) and +(0, 3) .. (b); 12 | -------------------------------------------------------------------------------- /assets/images/functions/List/last-2.2.tex: -------------------------------------------------------------------------------- 1 | \node (a) [empty collection]; 2 | \draw [->] (a.south) -- +(0, -1) 3 | node [below] {\texttt{default}}; 4 | 5 | -------------------------------------------------------------------------------- /assets/images/functions/List/last-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [elements between]; & 4 | \node [index=n-1]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [->] (an.south) -- +(0, -1) 9 | node [below] {$a_n$}; 10 | -------------------------------------------------------------------------------- /assets/images/functions/List/to_integer-1.tex: -------------------------------------------------------------------------------- 1 | \def\base{10} 2 | 3 | \matrix [list=a] { 4 | \node (n-1) {$?a_{n-1}$}; & 5 | \node [elements between]; & 6 | \node (2) {$?a_2$}; & 7 | \node (1) {$?a_1$}; & 8 | \node (0) {$?a_0$}; \\ 9 | }; 10 | 11 | \node (b) [below=2 of list a, align=center] 12 | {$?a_{n-1} \cdot \base^{n-1} + \ldots + ?a_2 \cdot \base^2 + ?a_1 \cdot \base + ?a_0 =$\\\\$\displaystyle\sum_{i=0}^{n-1}?a_i\cdot\base^{i}$}; 13 | 14 | \node at ($ (list a)!.5!(b) $) {$\Downarrow$}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/List/to_integer-2.tex: -------------------------------------------------------------------------------- 1 | \def\base{\texttt{base}} 2 | 3 | \matrix [list=a] { 4 | \node (n-1) {$?a_{n-1}$}; & 5 | \node [elements between]; & 6 | \node (2) {$?a_2$}; & 7 | \node (1) {$?a_1$}; & 8 | \node (0) {$?a_0$}; \\ 9 | }; 10 | 11 | \node (b) [below=2 of list a, align=center] 12 | {$?a_{n-1} \cdot \base^{n-1} + \ldots + ?a_2 \cdot \base^2 + ?a_1 \cdot \base + ?a_0 =$\\\\$\displaystyle\sum_{i=0}^{n-1}?a_i\cdot\base^{i}$}; 13 | 14 | \node at ($ (list a)!.5!(b) $) {$\Downarrow$}; 15 | 16 | -------------------------------------------------------------------------------- /assets/images/functions/List/to_tuple-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [tuple=b, element=a, below=2 of list a] { 9 | \node [index=1]; & \node [separator]; & 10 | \node [index=2]; & \node [separator]; & 11 | \node [elements between]; & \node [separator]; & 12 | \node [index=n]; \\ 13 | }; 14 | 15 | \foreach \i in {1,2,n}{ 16 | \draw [out=270, in=90, ->] (a\i.south) to (b\i.north); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/List/wrap-1.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [list=b, element=a, below=2 of list a] { 9 | \node [index=1]; & 10 | \node [index=2]; & 11 | \node [elements between]; & 12 | \node [index=n]; \\ 13 | }; 14 | 15 | \bracetobrace 16 | {an.south east}{a1.south west} 17 | {b1.north west}{bn.north east} 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/List/wrap-1.3.tex: -------------------------------------------------------------------------------- 1 | \node (b) [empty collection]; 2 | \draw [<-] (b.north) -- +(0, 1) 3 | node [above] {\nil}; 4 | -------------------------------------------------------------------------------- /assets/images/functions/List/wrap-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list] { 2 | \node (a) {$a$}; \\ 3 | }; 4 | 5 | \draw [<-] (a.north) -- +(0, 1) 6 | node [above] {$a$}; 7 | 8 | -------------------------------------------------------------------------------- /assets/images/functions/Map/Map.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [key value={\texttt{k1}}{$v_1$}]; & 3 | \node [key value={\texttt{k2}}{$v_2$}]; & 4 | \node [elements between]; & 5 | \node [key value={\texttt{kn}}{$v_n$}]; \\ 6 | }; 7 | 8 | \node[above=1 of map a] { 9 | \texttt{\%\{\\ 10 | k1: v1, k\\ 11 | 2: v2,\\ 12 | ..., k\\ 13 | n: vn\\ 14 | \}} 15 | }; 16 | -------------------------------------------------------------------------------- /assets/images/functions/Map/Map.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \node[above=1 of map a] { 9 | \texttt{\%\{\\ 10 | k1 => v1, k\\ 11 | 2 => v2,\\ 12 | ..., k\\ 13 | n => vn\\ 14 | \}} 15 | }; 16 | -------------------------------------------------------------------------------- /assets/images/functions/Map/fetch-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration={dashed}] (a2.north) -- (an.north); 11 | 12 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 13 | node [below, anchor=north] {\texttt{:error}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Map/fetch-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (akey) [key value={\texttt{key}}{$v_{\texttt{\small{key}}}$}]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [->] (akey.south) -- +(0, -1) 11 | node [below] {$\{\texttt{:ok},\,v_{\texttt{\small{key}}}\}$}; 12 | 13 | -------------------------------------------------------------------------------- /assets/images/functions/Map/fetch_-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration={dashed}] (a2.north) -- (an.north); 11 | 12 | \draw [exception, ->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) coordinate (b); 13 | \node at (b) [draw, exception, below, anchor=north] {\texttt{KeyError}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Map/fetch_-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (akey) [key value={\texttt{key}}{$\vkey$}]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [->] (akey.south) -- +(0, -1) 11 | node [below] {$\vkey$}; 12 | 13 | -------------------------------------------------------------------------------- /assets/images/functions/Map/get-3.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration={dashed}] (a2.north) -- (an.north); 11 | 12 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 13 | node [below, anchor=north] {\texttt{default}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Map/get-3.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (akey) [key value={\texttt{key}}{$\vkey$}]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [enter iteration] (a1.north); 11 | \draw [iteration] (a1.north) -- (a2.north); 12 | \draw [iteration={dashed}] (a2.north) -- (akey.north); 13 | 14 | 15 | \draw [->] (akey.south) -- +(0, -1) 16 | node [below] {$\vkey$}; 17 | 18 | -------------------------------------------------------------------------------- /assets/images/functions/Map/get_and_update_-3.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration={dashed}] (a2.north) -- (an.north); 11 | 12 | \draw [exception, ->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) coordinate (b); 13 | \node at (b) [draw, exception, below, anchor=north] {\texttt{KeyError}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Map/get_lazy-3.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (akey) [key value={\texttt{key}}{$\vkey$}]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [enter iteration] (a1.north); 11 | \draw [iteration] (a1.north) -- (a2.north); 12 | \draw [iteration={dashed}] (a2.north) -- (akey.north); 13 | 14 | \draw [->] (akey.south) -- +(0, -1) 15 | node [below] {$\vkey$}; 16 | 17 | -------------------------------------------------------------------------------- /assets/images/functions/Map/has_key_-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration={dashed}] (a2.north) -- (an.north); 11 | 12 | \draw [->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) 13 | node [below, anchor=north] {\false}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Map/has_key_-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node (akey) [key value={\texttt{key}}{$v_{\texttt{\tiny{key}}}$}]; & 6 | \node [elements between]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | \draw [->] (akey.south) -- +(0, -1) 11 | node [below] {\true}; 12 | 13 | -------------------------------------------------------------------------------- /assets/images/functions/Map/keys-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=m] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [list=k, below=2 of map m] { 9 | \node [index=1]; & 10 | \node [index=2]; & 11 | \node [elements between]; & 12 | \node [index=n]; \\ 13 | }; 14 | 15 | \foreach \i in {1,2,n}{ 16 | \draw [->] (m\i.south) -- (k\i.north); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Map/new-0.tex: -------------------------------------------------------------------------------- 1 | \draw [->] (0, 0) -- (0, -1) 2 | node (map) [below, empty collection]; 3 | 4 | \node [base right=of map] {$\equiv \texttt{\%\{\}}$}; 5 | 6 | -------------------------------------------------------------------------------- /assets/images/functions/Map/pop_-2.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration={dashed}] (a2.north) -- (an.north); 11 | 12 | \draw [exception, ->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) coordinate (b); 13 | \node at (b) [draw, exception, below, anchor=north] {\texttt{KeyError}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Map/replace_-3.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration={dashed}] (a2.north) -- (an.north); 11 | 12 | \draw [exception, ->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) coordinate (b); 13 | \node at (b) [draw, exception, below, anchor=north] {\texttt{KeyError}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Map/to_list-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [list=b, below=2 of map a] { 9 | \node (b1) {$k_{1}$:\,$v_{1}$}; & 10 | \node (b2) {$k_{2}$:\,$v_{2}$}; & 11 | \node [elements between]; & 12 | \node (bn) {$k_{n}$:\,$v_{n}$}; \\ 13 | }; 14 | 15 | \foreach \i\ in {1, 2, n}{ 16 | \draw [->] (a\i.south) -- (b\i.north); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Map/update_-3.2.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [enter iteration] (a1.north); 9 | \draw [iteration] (a1.north) -- (a2.north); 10 | \draw [iteration={dashed}] (a2.north) -- (an.north); 11 | 12 | \draw [exception, ->] (an.north) .. controls +(1, 1) and +(0, 2) .. +(2, -2) coordinate (b); 13 | \node at (b) [draw, exception, below, anchor=north] {\texttt{KeyError}}; 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Map/values-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [map=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [list=v, below=2 of map a] { 9 | \node [index=1]; & 10 | \node [index=2]; & 11 | \node [elements between]; & 12 | \node [index=n]; \\ 13 | }; 14 | 15 | \foreach \i in {1, 2, n}{ 16 | \draw [->] (a\i.south) -- (v\i.north); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/MapSet/MapSet.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [index=3]; & 5 | \node [index=4]; \\ 6 | }; 7 | -------------------------------------------------------------------------------- /assets/images/functions/MapSet/new-0.tex: -------------------------------------------------------------------------------- 1 | \draw [->] (0, 0) -- +(0, -1) 2 | node [below, empty collection]; 3 | 4 | -------------------------------------------------------------------------------- /assets/images/functions/MapSet/new-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [index=1]; & 5 | \node [index=1]; & 6 | \node [index=2]; & 7 | \node [index=3]; & 8 | \node [index=4]; & 9 | \node [index=2]; \\ 10 | }; 11 | 12 | \matrix [list=b, element=a, below=2 of list a] { 13 | \node [index=1]; & 14 | \node [index=2]; & 15 | \node [index=3]; & 16 | \node [index=4]; \\ 17 | }; 18 | 19 | \node at ($ (list a)!.5!(list b) $) {$\Downarrow$}; 20 | 21 | -------------------------------------------------------------------------------- /assets/images/functions/MapSet/size-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [elements between]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [measure={$n$}, measure amplitude=-5mm] (a1.south west) -- (an.south east); 9 | \draw [->] (last measure label) -- +(0, -1) node [below] {$n$}; 10 | 11 | -------------------------------------------------------------------------------- /assets/images/functions/MapSet/to_list-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; & 4 | \node [index=3]; & 5 | \node [elements between]; & 6 | \node [index=n]; \\ 7 | }; 8 | 9 | \matrix [list=b, element=a, below=2 of list a] { 10 | \node [index=1]; & 11 | \node [index=2]; & 12 | \node [index=3]; & 13 | \node [elements between]; & 14 | \node [index=n]; \\ 15 | }; 16 | 17 | \node at ($ (list a)!.5!(list b) $) {$\Downarrow$}; 18 | 19 | -------------------------------------------------------------------------------- /assets/images/functions/Stream/Stream.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node [index=1]; & 3 | \node [index=2]; \\ 4 | }; 5 | 6 | \matrix [list=b, element=a, opacity=0.5, right=0 of list a] { 7 | \node [index=3]; & 8 | \node [index=4]; & 9 | \node [elements after]; \\ 10 | }; 11 | 12 | \node [right=of list b] {$\ldots\infty$}; 13 | 14 | 15 | -------------------------------------------------------------------------------- /assets/images/functions/Stream/chunk_by-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/chunk_by-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/chunk_every-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/chunk_every-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/chunk_every-4.tex: -------------------------------------------------------------------------------- 1 | ../Enum/chunk_every-4.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/chunk_while-4.2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/chunk_while-4.2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/chunk_while-4.tex: -------------------------------------------------------------------------------- 1 | ../Enum/chunk_while-4.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/dedup-1.tex: -------------------------------------------------------------------------------- 1 | ../Enum/dedup-1.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/dedup_by-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/dedup_by-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/drop-2.2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/drop-2.2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/drop-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/drop-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/drop_every-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/drop_every-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/drop_while-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/drop_while-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/each-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/each-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/filter-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/filter-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/flat_map-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/flat_map-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/intersperse-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/intersperse-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/map-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/map-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/map_every-3.tex: -------------------------------------------------------------------------------- 1 | ../Enum/map_every-3.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/reject-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/reject-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/scan-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/scan-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/scan-3.tex: -------------------------------------------------------------------------------- 1 | ../Enum/scan-3.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/take-2.2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/take-2.2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/take-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/take-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/take_every-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/take_every-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/take_random-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/take_random-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/take_while-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/take_while-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/timer-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [list=a] { 2 | \node (a0) {$0$}; \\ 3 | }; 4 | 5 | \draw [enter iteration] (a0.north); 6 | \node at (last iteration) [above] {\texttt{n} ms}; 7 | -------------------------------------------------------------------------------- /assets/images/functions/Stream/uniq-1.tex: -------------------------------------------------------------------------------- 1 | ../Enum/uniq-1.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/uniq_by-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/uniq_by-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/with_index-2.2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/with_index-2.2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/with_index-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/with_index-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/zip-1.tex: -------------------------------------------------------------------------------- 1 | ../Enum/zip-1.tex -------------------------------------------------------------------------------- /assets/images/functions/Stream/zip-2.tex: -------------------------------------------------------------------------------- 1 | ../Enum/zip-2.tex -------------------------------------------------------------------------------- /assets/images/functions/Tuple/Tuple.tex: -------------------------------------------------------------------------------- 1 | \matrix [tuple=a] { 2 | \node [index=1]; & \node [separator]; & 3 | \node [index=2]; & \node [separator]; & 4 | \node [elements between]; & \node [separator]; & 5 | \node [index=i]; & \node [separator]; & 6 | \node [elements between]; & \node [separator]; & 7 | \node [index=n]; \\ 8 | }; 9 | 10 | -------------------------------------------------------------------------------- /assets/images/functions/Tuple/duplicate-2.tex: -------------------------------------------------------------------------------- 1 | \matrix [tuple=a] { 2 | \node (a1) {\texttt{value}}; & \node [separator]; & 3 | \node (a2) {\texttt{value}}; & \node [separator]; & 4 | \node [elements between]; & \node [separator]; & 5 | \node (an) {\texttt{value}}; \\ 6 | }; 7 | 8 | \draw [measure=\texttt{size}] (a1.north west) -- (an.north east); 9 | 10 | -------------------------------------------------------------------------------- /assets/images/functions/Tuple/product-1.2.tex: -------------------------------------------------------------------------------- 1 | \node (t) {\{\}}; 2 | 3 | \draw [->] (t) -- +(0, -1) 4 | node [below] {$1$}; 5 | -------------------------------------------------------------------------------- /assets/images/functions/Tuple/product-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [tuple=a] { 2 | \node [index=1]; & \node [separator]; & 3 | \node [index=2]; & \node [separator]; & 4 | \node [elements between]; & \node [separator]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [brace] (an.south east) -- (a1.south west); 9 | 10 | \draw [->] (last brace) -- +(0, -1) 11 | node [below] 12 | {$a_1 \cdot a_2 \cdot \dots \cdot a_n = \displaystyle\prod_{i=1}^n a_i$}; 13 | 14 | -------------------------------------------------------------------------------- /assets/images/functions/Tuple/sum-1.2.tex: -------------------------------------------------------------------------------- 1 | \node (t) {\{\}}; 2 | 3 | \draw [->] (t) -- +(0, -1) 4 | node [below] {$0$}; 5 | -------------------------------------------------------------------------------- /assets/images/functions/Tuple/sum-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [tuple=a] { 2 | \node [index=1]; & \node [separator]; & 3 | \node [index=2]; & \node [separator]; & 4 | \node [elements between]; & \node [separator]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \draw [brace] (an.south east) -- (a1.south west); 9 | 10 | \draw [->] (last brace) -- +(0, -1) 11 | node [below] 12 | {$a_1 + a_2 + \dots + a_n = \displaystyle\sum_{i=1}^n a_i$}; 13 | 14 | -------------------------------------------------------------------------------- /assets/images/functions/Tuple/to_list-1.tex: -------------------------------------------------------------------------------- 1 | \matrix [tuple=a] { 2 | \node [index=1]; & \node [separator]; & 3 | \node [index=2]; & \node [separator]; & 4 | \node [elements between]; & \node [separator]; & 5 | \node [index=n]; \\ 6 | }; 7 | 8 | \matrix [list=b, element=a, below=2 of tuple a] { 9 | \node [index=1]; & 10 | \node [index=2]; & 11 | \node [elements between]; & 12 | \node [index=n]; \\ 13 | }; 14 | 15 | \foreach \i in {1, 2, n}{ 16 | \draw [->, out=270, in=90] (a\i.south) to (b\i.north); 17 | } 18 | -------------------------------------------------------------------------------- /assets/images/shared/footer.tex: -------------------------------------------------------------------------------- 1 | \begin{scope}[on background layer] 2 | \fill [white] ($ (current bounding box.south west) + (-.5, -.5) $) -- ($ (current bounding box.north east) + (.5, .5) $); 3 | \end{scope} 4 | 5 | \end{tikzpicture} 6 | \end{document} 7 | 8 | -------------------------------------------------------------------------------- /assets/images/shared/preamble.tex: -------------------------------------------------------------------------------- 1 | \documentclass[12pt]{standalone} 2 | \usepackage{tikz} 3 | \usetikzlibrary{arrows.meta} 4 | \usetikzlibrary{backgrounds} 5 | \usetikzlibrary{bending} 6 | \usetikzlibrary{calc} 7 | \usetikzlibrary{chains} 8 | \usetikzlibrary{decorations.pathmorphing} 9 | \usetikzlibrary{decorations.pathreplacing} 10 | \usetikzlibrary{funprog} 11 | \usetikzlibrary{positioning} 12 | \usetikzlibrary{shapes.arrows} 13 | 14 | -------------------------------------------------------------------------------- /config/development/config.toml: -------------------------------------------------------------------------------- 1 | baseURL = "http://localhost:1313/visual-elixir-reference/" 2 | buildDrafts = false 3 | -------------------------------------------------------------------------------- /config/production/config.toml: -------------------------------------------------------------------------------- 1 | [services.googleAnalytics] 2 | id = "G-X9FDL6QBE0" 3 | -------------------------------------------------------------------------------- /content/en/_index.md: -------------------------------------------------------------------------------- 1 | This guide collects some of the most common functions of the [Elixir] Programming 2 | Language and explain them conceptual and graphically in a simple way. 3 | 4 | To request new entries, suggest corrections or provide translations go to the 5 | this project's repository in [Github]. 6 | 7 | [Elixir]: https://elixir-lang.org/ 8 | [Github]: https://github.com/superruzafa/visual-elixir-reference 9 | -------------------------------------------------------------------------------- /content/en/functions/Atom/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Atom 3 | url: /Atom 4 | --- 5 | 6 | Atoms are constants whose values are their own name. 7 | 8 | {{< figure src="images/functions/Atom/Atom.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Atom/to_charlist-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_charlist/1 3 | url: Atom/to_charlist/1 4 | --- 5 | 6 | 7 | Converts an `atom` to a charlist. 8 | 9 | {{< figure src="images/functions/Atom/to_charlist-1.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Atom/to_string-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_string/1 3 | url: Atom/to_string/1 4 | --- 5 | 6 | 7 | Converts an `atom` to a string. 8 | 9 | {{< figure src="images/functions/Atom/to_string-1.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Enum/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Enum 3 | url: /Enum 4 | --- 5 | 6 | A module for working with data types implementing the `Enumerable` protocol, such as [`List`](../List), [`Map`](../Map), [`Range`](../Range)... 7 | 8 | {{< figure src="images/functions/Enum/Enum.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/all_-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: all?/1 3 | url: Enum/all_/1 4 | aliases: 5 | - '/Enum/all?/1/' 6 | --- 7 | 8 | Returns `true` if **all** the elements in `enumerable` are truthy. 9 | 10 | {{< figure src="images/functions/Enum/all_-1.svg" >}} 11 | 12 | As soon as one element is falsy, the iteration stops and the whole function returns `false`. 13 | 14 | {{< figure src="images/functions/Enum/all_-1.2.svg" >}} 15 | 16 | On empty enumerables this function returns `true`. 17 | 18 | {{< figure src="images/functions/Enum/all_-1.3.svg" >}} 19 | -------------------------------------------------------------------------------- /content/en/functions/Enum/any_-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: any?/1 3 | url: Enum/any_/1 4 | aliases: 5 | - '/Enum/any?/1/' 6 | --- 7 | Returns `true` if at least one element in `enumerable` is truthy. 8 | 9 | {{< figure src="images/functions/Enum/any_-1.svg" >}} 10 | 11 | If no element in `enumerable` is truthy then the function returns `false`. 12 | 13 | {{< figure src="images/functions/Enum/any_-1.2.svg" >}} 14 | 15 | On empty enumerables this function returns `false`. 16 | 17 | {{< figure src="images/functions/Enum/any_-1.3.svg" >}} 18 | -------------------------------------------------------------------------------- /content/en/functions/Enum/at-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: at/3 3 | url: Enum/at/3 4 | --- 5 | Finds the element in `enumerable` at the index `index` (zero-based). 6 | 7 | {{< figure src="images/functions/Enum/at-3.svg" >}} 8 | 9 | A negative `index` can be passed, which means the `index` is counted from the end. 10 | 11 | {{< figure src="images/functions/Enum/at-3.2.svg" >}} 12 | 13 | The function evaluates to `default` if the `index` is out of bounds. 14 | 15 | {{< figure src="images/functions/Enum/at-3.3.svg" >}} 16 | -------------------------------------------------------------------------------- /content/en/functions/Enum/chunk_by-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: chunk_by/2 3 | url: Enum/chunk_by/2 4 | --- 5 | Splits `enumerable` on every element for which `fun` returns a new value. 6 | 7 | {{< figure src="images/functions/Enum/chunk_by-2.svg" >}} 8 | -------------------------------------------------------------------------------- /content/en/functions/Enum/chunk_every-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: chunk_every/2 3 | url: /Enum/chunk_every/2 4 | --- 5 | 6 | Returns a list of lists containing `count` elements each. 7 | 8 | The last chunk may content `count` or less elements. 9 | 10 | {{< figure src="images/functions/Enum/chunk_every-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/concat-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: concat/1 3 | url: Enum/concat/1 4 | --- 5 | 6 | Given an enumerable of enumerables, concatenates `enumerables` into a single list. 7 | 8 | {{< figure src="images/functions/Enum/concat-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/concat-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: concat/2 3 | url: Enum/concat/2 4 | --- 5 | 6 | Concatenates the enumerable on the `left` with the enumerable on the `right`. 7 | 8 | {{< figure src="images/functions/Enum/concat-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/count-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: count/1 3 | url: Enum/count/1 4 | --- 5 | 6 | Returns the size of the `enumerable`. 7 | 8 | {{< figure src="images/functions/Enum/count-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/count-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: count/2 3 | url: Enum/count/2 4 | --- 5 | 6 | Returns the count of elements in `enumerable` for which `fun` returns a truthy value. 7 | 8 | {{< figure src="images/functions/Enum/count-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/count_until-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: count_until/3 3 | url: Enum/count_until/3 4 | --- 5 | 6 | Counts how many elements are evaluated to truthy when `fun` is applied over them, stopping at `limit`. 7 | 8 | {{< figure src="images/functions/Enum/count_until-3.svg" >}} 9 | 10 | If `enumerable` is traversed completely then the function returns the count of elements that are evaluated to truthy when `fun` is applied over them. 11 | 12 | {{< figure src="images/functions/Enum/count_until-3.2.svg" >}} 13 | 14 | -------------------------------------------------------------------------------- /content/en/functions/Enum/dedup-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: dedup/1 3 | url: Enum/dedup/1 4 | --- 5 | 6 | Discards all those adjacent duplicated elements in the `enumerable`, collapsing them in a single element. 7 | 8 | {{< figure src="images/functions/Enum/dedup-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/dedup_by-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: dedup_by/2 3 | url: Enum/dedup_by/2 4 | --- 5 | 6 | Discards all those adjacent elements in `enumerable` which are duplicated in terms of the output of the `fun` function, collapsing them in a single element. 7 | 8 | {{< figure src="images/functions/Enum/dedup_by-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/drop-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: drop/2 3 | url: Enum/drop/2 4 | --- 5 | 6 | Drops `count` elements from the enumerable. 7 | 8 | {{< figure src="images/functions/Enum/drop-2.svg" >}} 9 | 10 | If a negative `count` is given, the `count` last values will be dropped. 11 | 12 | {{< figure src="images/functions/Enum/drop-2.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/drop_every-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: drop_every/2 3 | url: Enum/drop_every/2 4 | --- 5 | 6 | Returns a list where every `nth` element in `enumerable` has been dropped, starting with the first element. 7 | 8 | The first element is always dropped, unless `nth` is 0. 9 | 10 | The second argument specifying every `nth` element must be a non-negative integer. 11 | 12 | {{< figure src="images/functions/Enum/drop_every-2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/drop_while-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: drop_while/2 3 | url: Enum/drop_while/2 4 | --- 5 | 6 | Drops elements at the beginning of the enumerable while `fun` returns a truthy value. 7 | 8 | {{< figure src="images/functions/Enum/drop_while-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/each-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: each/2 3 | url: Enum/each/2 4 | --- 5 | 6 | Invokes the given `fun` for each element in the `enumerable` and returns `:ok`. 7 | 8 | {{< figure src="images/functions/Enum/each-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/empty_-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: empty?/1 3 | url: Enum/empty_/1 4 | aliases: 5 | - '/Enum/empty?/1/' 6 | --- 7 | 8 | Returns `true` if the enumerable is empty. 9 | 10 | {{< figure src="images/functions/Enum/empty-1.svg" >}} 11 | 12 | Otherwise it returns `false`. 13 | 14 | {{< figure src="images/functions/Enum/empty-1.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Enum/filter-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: filter/2 3 | url: Enum/filter/2 4 | --- 5 | 6 | Returns only those elements for which `fun` returns a truthy value. 7 | 8 | {{< figure src="images/functions/Enum/filter-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/find-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: find/3 3 | url: Enum/find/3 4 | --- 5 | 6 | Returns the first element for which `fun` returns a truthy value. 7 | 8 | {{< figure src="images/functions/Enum/find-3.svg" >}} 9 | 10 | If no such element is found it returns `default`. 11 | 12 | {{< figure src="images/functions/Enum/find-3.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/find_index-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: find_index/2 3 | url: Enum/find_index/2 4 | --- 5 | 6 | Returns the index (zero-based) of the first element for which `fun` returns a truthy value. 7 | 8 | {{< figure src="images/functions/Enum/find_index-2.svg" >}} 9 | 10 | If no such element is found it returns `nil`. 11 | 12 | {{< figure src="images/functions/Enum/find_index-2.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/find_value-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: find_value/3 3 | url: Enum/find_value/3 4 | --- 5 | 6 | Returns the value of the first invocation of the function `fun` which returns a truthy value. 7 | 8 | {{< figure src="images/functions/Enum/find_value-3.svg" >}} 9 | 10 | If no such element is found it returns `default`. 11 | 12 | {{< figure src="images/functions/Enum/find_value-3.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/flat_map-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: flat_map/2 3 | url: Enum/flat_map/2 4 | --- 5 | 6 | Maps the given `fun` over `enumerable` and flattens the result. 7 | 8 | {{< figure src="images/functions/Enum/flat_map-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/frequencies-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: frequencies/1 3 | url: Enum/frequencies/1 4 | --- 5 | 6 | Returns a map with keys as unique elements of `enumerable` and values as the count of every element. 7 | 8 | {{< figure src="images/functions/Enum/frequencies-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/frequencies_by-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: frequencies_by/2 3 | url: Enum/frequencies_by/2 4 | --- 5 | 6 | Returns a map with keys as unique elements given by `fun` and values as the count of every element. 7 | 8 | {{< figure src="images/functions/Enum/frequencies_by-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/group_by-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: group_by/3 3 | url: Enum/group_by/3 4 | --- 5 | 6 | Splits the `enumerable` into groups based on `key_fun`. 7 | 8 | The result is a map where each key is given by `key_fun` and each value is a list of elements given by `value_fun`. The order of elements within each list is preserved from the enumerable. However, like all maps, the resulting map is unordered. 9 | 10 | {{< figure src="images/functions/Enum/group_by-3.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/intersperse-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: intersperse/2 3 | url: Enum/intersperse/2 4 | --- 5 | 6 | Intersperses `elem` between each element of `enumerable`. 7 | 8 | {{< figure src="images/functions/Enum/intersperse-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/into-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: into/2 3 | url: /Enum/into/2 4 | draft: true 5 | --- 6 | 7 | # `Enum.into/2` 8 | Brief description and usage of the `Enum`'s `into/2` function. 9 | 10 | {{< figure src="images/functions/Enum/into-2.svg" >}} 11 | {{< figure src="images/functions/Enum/into-2.2.svg" >}} 12 | {{< figure src="images/functions/Enum/into-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/into-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: into/3 3 | url: /Enum/into/3 4 | draft: true 5 | --- 6 | 7 | # `Enum.into/3` 8 | Brief description and usage of the `Enum`'s `into/3` function. 9 | 10 | {{< figure src="images/functions/Enum/into-3.svg" >}} 11 | {{< figure src="images/functions/Enum/into-3.2.svg" >}} 12 | {{< figure src="images/functions/Enum/into-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/join-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: join/2 3 | url: Enum/join/2 4 | --- 5 | 6 | Joins the given enumerable into a binary using `joiner` as a separator. 7 | 8 | If `joiner` is not passed at all, it defaults to the empty binary. 9 | 10 | All elements in the enumerable must be convertible to a binary, otherwise an error is raised. 11 | 12 | {{< figure src="images/functions/Enum/join-2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/map-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: map/2 3 | url: Enum/map/2 4 | --- 5 | 6 | Returns a list where each element is the result of invoking `fun` on each corresponding element of enumerable. 7 | 8 | {{< figure src="images/functions/Enum/map-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/map_intersperse-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: map_intersperse/3 3 | url: Enum/map_intersperse/3 4 | --- 5 | 6 | Maps with the function `fun` and intersperses the given `enumerable` in one pass. 7 | 8 | {{< figure src="images/functions/Enum/map_intersperse-3.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/map_join-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: map_join/3 3 | url: Enum/map_join/3 4 | --- 5 | 6 | Maps and joins the given enumerable in one pass. 7 | 8 | `joiner` can be either a binary or a list and the result will be of the same type as `joiner`. If `joiner` is not passed at all, it defaults to an empty binary. 9 | 10 | All elements returned from invoking the `fun` must be convertible to a binary, otherwise an error is raised. 11 | 12 | {{< figure src="images/functions/Enum/map_join-3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/member_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: member?/2 3 | url: Enum/member/2 4 | aliases: ['/Enum/member?/2/'] 5 | --- 6 | 7 | Returns `true` if any element in the enumerable is equal (in terms of `===/3`) to `elem`. 8 | 9 | {{< figure src="images/functions/Enum/member-2.svg" >}} 10 | 11 | If no element is found then `false` is returned. 12 | 13 | {{< figure src="images/functions/Enum/member-2.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Enum/product-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: product/1 3 | url: Enum/product/1 4 | --- 5 | 6 | Returns the product of all elements of `enumerable`. 7 | 8 | Raises `ArithmeticError` if `enumerable` contains a non-numeric value. 9 | 10 | {{< figure src="images/functions/Enum/product-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/product_by-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: product_by/2 3 | url: Enum/product_by/2 4 | --- 5 | 6 | Maps and computes the product of the given `enumerable` in one pass. 7 | 8 | Raises `ArithmeticError` if `fun` returns a non-numeric value. 9 | 10 | {{< figure src="images/functions/Enum/product_by-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/reject-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: reject/2 3 | url: Enum/reject/2 4 | --- 5 | 6 | Returns only those elements for which `fun` **does not** return a truthy value. 7 | 8 | {{< figure src="images/functions/Enum/reject-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/reverse-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: reverse/1 3 | url: Enum/reverse/1 4 | --- 5 | 6 | Returns the elements from `enumerable` in reverse order. 7 | 8 | {{< figure src="images/functions/Enum/reverse-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/reverse-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: reverse/2 3 | url: Enum/reverse/2 4 | --- 5 | 6 | Returns the elements from `enumerable` in reverse order and then appends `tail` to it. 7 | 8 | {{< figure src="images/functions/Enum/reverse-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/reverse_slice-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: reverse_slice/3 3 | url: Enum/reverse_slice/3 4 | --- 5 | 6 | Reverses the `enumerable` in the range from initial `start` through `count` elements. 7 | 8 | {{< figure src="images/functions/Enum/reverse_slice-3.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/scan-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: scan/2 3 | url: Enum/scan/2 4 | --- 5 | 6 | Applies the function `fun` to each element in the `enumerable`, storing the result in a list and passing it as the accumulator for the next computation. Uses the first element in the `enumerable` as the starting value. 7 | 8 | {{< figure src="images/functions/Enum/scan-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/scan-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: scan/3 3 | url: Enum/scan/3 4 | --- 5 | 6 | Applies the function `fun` to each element in the `enumerable`, storing the result in a list and passing it as the accumulator for the next computation. Uses the given `acc` as the starting value. 7 | 8 | {{< figure src="images/functions/Enum/scan-3.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/shuffle-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: shuffle/1 3 | url: Enum/shuffle/1 4 | --- 5 | 6 | Returns the elements `enumerable` shuffled. 7 | 8 | This function uses Erlang's `:rand` module to calculate the random value. Check its documentation for setting a different random algorithm or a different seed. 9 | 10 | {{< figure src="images/functions/Enum/shuffle-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/slice-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: slice/3 3 | url: Enum/slice/3 4 | --- 5 | 6 | Returns a subset list of the given `enumerable`, from `start` (zero-based) with `count` number of elements if available. 7 | 8 | {{< figure src="images/functions/Enum/slice-3.svg" >}} 9 | 10 | A negative `start` can be passed, which means the enumerable is enumerated once and the index is counted from the end. 11 | 12 | {{< figure src="images/functions/Enum/slice-3.2.svg" >}} 13 | 14 | It returns [] if `count` is 0 or if `start` is out of bounds. 15 | 16 | -------------------------------------------------------------------------------- /content/en/functions/Enum/slide-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: slide/3 3 | url: Enum/slide/3 4 | --- 5 | 6 | Slides a single element of the `enumerable` from `src` to `dst`. 7 | 8 | {{< figure src="images/functions/Enum/slide-3.svg" >}} 9 | 10 | When `src` is a `Range` then multiple elements are slided. 11 | 12 | {{< figure src="images/functions/Enum/slide-3.2.svg" >}} 13 | 14 | When `dst` is negative count is done from the end. 15 | 16 | {{< figure src="images/functions/Enum/slide-3.3.svg" >}} 17 | 18 | -------------------------------------------------------------------------------- /content/en/functions/Enum/sort-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: sort/1 3 | url: Enum/sort/1 4 | --- 5 | 6 | Sorts the enumerable according to Erlang's term ordering. 7 | 8 | {{< figure src="images/functions/Enum/sort-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/sort-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: sort/2 3 | url: Enum/sort/2 4 | --- 5 | 6 | Sorts the enumerable. The given function `fun` should compare two arguments, and return `true` if the first argument precedes or is in the same place as the second one. 7 | 8 | {{< figure src="images/functions/Enum/sort-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/sort_by-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: sort_by/3 3 | url: Enum/sort_by/3 4 | --- 5 | 6 | Sorts the `enumerable` by mapping each element using the provided `mapper` function and then sorting the mapped elements using the `sorter` function, which defaults to `Kernel.<=/2`. 7 | 8 | {{< figure src="images/functions/Enum/sort_by-3.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/split-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: split/2 3 | url: Enum/split/2 4 | --- 5 | 6 | Splits the `enumerable` into two enumerables, leaving `count` elements in the first one. 7 | 8 | {{< figure src="images/functions/Enum/split-2.svg" >}} 9 | 10 | If `count` is a negative number, it starts counting from the back to the beginning of the enumerable. 11 | 12 | {{< figure src="images/functions/Enum/split-2.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/split_while-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: split_while/2 3 | url: Enum/split_while/2 4 | --- 5 | 6 | Splits `enumerable` in two at the position of the element for which `fun` returns a falsy value (`false` or `nil`) for the first time. 7 | 8 | {{< figure src="images/functions/Enum/split_while-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/sum-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: sum/1 3 | url: Enum/sum/1 4 | --- 5 | 6 | Returns the sum of all elements of `enumerable`. 7 | 8 | Raises `ArithmeticError` if `enumerable` contains a non-numeric value. 9 | 10 | {{< figure src="images/functions/Enum/sum-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/sum_by-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: sum_by/2 3 | url: Enum/sum_by/2 4 | --- 5 | 6 | Maps and computes the sum of the given `enumerable` in one pass. 7 | 8 | Raises `ArithmeticError` if `fun` returns a non-numeric value. 9 | 10 | {{< figure src="images/functions/Enum/sum_by-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/take-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: take/2 3 | url: Enum/take/2 4 | --- 5 | 6 | Takes `count` elements from the beginning of `enumerable`. 7 | 8 | {{< figure src="images/functions/Enum/take-2.svg" >}} 9 | 10 | If a negative `count` is given, the elements will be taken from the end. 11 | 12 | {{< figure src="images/functions/Enum/take-2.2.svg" >}} 13 | 14 | If `count` is 0, it returns `[]`. -------------------------------------------------------------------------------- /content/en/functions/Enum/take_every-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: take_every/2 3 | url: Enum/take_every/2 4 | --- 5 | 6 | Returns a list of every `nth` element in the `enumerable`, starting with the first element. 7 | 8 | The first element is always included, unless `nth` is 0. 9 | 10 | The second argument specifying every `nth` element must be a non-negative integer. 11 | 12 | {{< figure src="images/functions/Enum/take_every-2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/take_random-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: take_random/2 3 | url: Enum/take_random/2 4 | --- 5 | 6 | Takes at most `count` random elements from `enumerable`. 7 | 8 | {{< figure src="images/functions/Enum/take_random-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/take_while-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: take_while/2 3 | url: Enum/take_while/2 4 | --- 5 | 6 | Takes the elements from the beginning of the `enumerable` while `fun` returns a truthy value. 7 | 8 | {{< figure src="images/functions/Enum/take_while-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/to_list-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_list/1 3 | url: /Enum/to_list/1 4 | draft: true 5 | --- 6 | 7 | # `Enum.to_list/1` 8 | Brief description and usage of the `Enum`'s `to_list/1` function. 9 | 10 | {{< figure src="images/functions/Enum/to_list-1.svg" >}} 11 | {{< figure src="images/functions/Enum/to_list-1.2.svg" >}} 12 | {{< figure src="images/functions/Enum/to_list-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/uniq-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: uniq/1 3 | url: Enum/uniq/1 4 | --- 5 | 6 | Removes all duplicated elements. 7 | 8 | {{< figure src="images/functions/Enum/uniq-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/uniq_by-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: uniq_by/2 3 | url: Enum/uniq_by/2 4 | --- 5 | 6 | Enumerates the `enumerable` by removing the elements for which function `fun` returned duplicate elements. 7 | 8 | The function `fun` maps every element to a term. Two elements are considered duplicates if the return value of `fun` is equal for both of them. 9 | 10 | The first occurrence of each element is kept. 11 | 12 | {{< figure src="images/functions/Enum/uniq_by-2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/unzip-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: unzip/1 3 | url: Enum/unzip/1 4 | --- 5 | 6 | It takes an `enumerable` with elements being two-element tuples and returns a tuple with two lists, each of which is formed by the first and second element of each tuple, respectively. 7 | 8 | {{< figure src="images/functions/Enum/unzip-1.svg" >}} 9 | 10 | This function fails unless `enumerable` is or can be converted into a list of tuples with exactly two elements in each tuple. 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/with_index-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: with_index/2 3 | url: Enum/with_index/2 4 | --- 5 | 6 | Returns the `enumerable` with each element wrapped in a tuple alongside its index. 7 | 8 | {{< figure src="images/functions/Enum/with_index-2.svg" >}} 9 | 10 | If an `offset` is given, we will index from the given `offset` instead of from zero. 11 | 12 | {{< figure src="images/functions/Enum/with_index-2.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Enum/zip-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: zip/1 3 | url: Enum/zip/1 4 | --- 5 | 6 | Zips corresponding elements from a finite collection of `enumerables` into one list of tuples. 7 | 8 | The zipping finishes as soon as any enumerable in the given collection completes. 9 | 10 | {{< figure src="images/functions/Enum/zip-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/zip-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: zip/2 3 | url: Enum/zip/2 4 | --- 5 | 6 | Zips corresponding elements from two enumerables, `enumerable1` and `enumerable2` into one list of tuples. 7 | 8 | The zipping finishes as soon as any enumerable completes. 9 | 10 | {{< figure src="images/functions/Enum/zip-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/zip_reduce-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: zip_reduce/3 3 | url: Enum/zip_reduce/3 4 | --- 5 | 6 | Reduces applying the function `fun` over all of the given `enumerable`s, halting as soon as any enumerable is empty. 7 | 8 | {{< figure src="images/functions/Enum/zip_reduce-3.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/zip_reduce-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: zip_reduce/4 3 | url: Enum/zip_reduce/4 4 | --- 5 | 6 | Reduces applying the function `fun` over two `enumerable`s, halting as soon as any enumerable is empty. 7 | 8 | {{< figure src="images/functions/Enum/zip_reduce-4.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Enum/zip_with-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: zip_with/2 3 | url: Enum/zip_with/2 4 | --- 5 | 6 | Zips corresponding elements from multiple `enumerables` into a list, using `zip_fun` as transforming function. 7 | 8 | The zipping finishes as soon as any enumerable completes. 9 | 10 | {{< figure src="images/functions/Enum/zip_with-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Enum/zip_with-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: zip_with/3 3 | url: Enum/zip_with/3 4 | --- 5 | 6 | Zips corresponding elements from two enumerables, `enumerable1` and `enumerable2` into one list using `zip_fun` as transforming function. 7 | 8 | The zipping finishes as soon as any enumerable completes. 9 | 10 | {{< figure src="images/functions/Enum/zip_with-3.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Integer/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Integer 3 | url: /Integer 4 | --- 5 | 6 | Functions for working with integers. 7 | 8 | {{< figure src="images/functions/Integer/Integer.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Integer/digits-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: digits/2 3 | url: Integer/digits/2 4 | --- 5 | 6 | Converts an Integer to a charlist. 7 | 8 | {{< figure src="images/functions/Integer/digits-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Integer/floor_div-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: floor_div/2 3 | url: /Integer/floor_div/2 4 | draft: true 5 | --- 6 | 7 | # `Integer.floor_div/2` 8 | Brief description and usage of the `Integer`'s `floor_div/2` function. 9 | 10 | {{< figure src="images/functions/Integer/floor_div-2.svg" >}} 11 | {{< figure src="images/functions/Integer/floor_div-2.2.svg" >}} 12 | {{< figure src="images/functions/Integer/floor_div-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Integer/gcd-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: gcd/2 3 | url: /Integer/gcd/2 4 | draft: true 5 | --- 6 | 7 | # `Integer.gcd/2` 8 | Brief description and usage of the `Integer`'s `gcd/2` function. 9 | 10 | {{< figure src="images/functions/Integer/gcd-2.svg" >}} 11 | {{< figure src="images/functions/Integer/gcd-2.2.svg" >}} 12 | {{< figure src="images/functions/Integer/gcd-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Integer/mod-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: mod/2 3 | url: /Integer/mod/2 4 | draft: true 5 | --- 6 | 7 | # `Integer.mod/2` 8 | Brief description and usage of the `Integer`'s `mod/2` function. 9 | 10 | {{< figure src="images/functions/Integer/mod-2.svg" >}} 11 | {{< figure src="images/functions/Integer/mod-2.2.svg" >}} 12 | {{< figure src="images/functions/Integer/mod-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Integer/parse-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: parse/2 3 | url: /Integer/parse/2 4 | draft: true 5 | --- 6 | 7 | # `Integer.parse/2` 8 | Brief description and usage of the `Integer`'s `parse/2` function. 9 | 10 | {{< figure src="images/functions/Integer/parse-2.svg" >}} 11 | {{< figure src="images/functions/Integer/parse-2.2.svg" >}} 12 | {{< figure src="images/functions/Integer/parse-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Integer/to_charlist-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_charlist/1 3 | url: /Integer/to_charlist/1 4 | draft: true 5 | --- 6 | 7 | # `Integer.to_charlist/1` 8 | Brief description and usage of the `Integer`'s `to_charlist/1` function. 9 | 10 | {{< figure src="images/functions/Integer/to_charlist-1.svg" >}} 11 | {{< figure src="images/functions/Integer/to_charlist-1.2.svg" >}} 12 | {{< figure src="images/functions/Integer/to_charlist-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Integer/to_charlist-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_charlist/2 3 | url: /Integer/to_charlist/2 4 | draft: true 5 | --- 6 | 7 | # `Integer.to_charlist/2` 8 | Brief description and usage of the `Integer`'s `to_charlist/2` function. 9 | 10 | {{< figure src="images/functions/Integer/to_charlist-2.svg" >}} 11 | {{< figure src="images/functions/Integer/to_charlist-2.2.svg" >}} 12 | {{< figure src="images/functions/Integer/to_charlist-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Integer/to_string-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_string/2 3 | url: /Integer/to_string/2 4 | --- 5 | 6 | Returns a binary which corresponds to the text representation of `integer`. 7 | 8 | {{< figure src="images/functions/Integer/to_string-2.svg" >}} 9 | 10 | If `base` is provided then `integer` is converted given that base. 11 | 12 | {{< figure src="images/functions/Integer/to_string-2.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Integer/undigits-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: undigits/2 3 | url: /Integer/undigits/2 4 | --- 5 | 6 | Returns the integer represented by the ordered digits. 7 | 8 | {{< figure src="images/functions/Integer/undigits-2.svg" >}} 9 | 10 | An optional `base` value may be provided representing the radix for the digits. 11 | `base` has to be an integer greater than or equal to 2. 12 | 13 | {{< figure src="images/functions/Integer/undigits-2.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Kernel/elem-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: elem/2 3 | url: Kernel/elem/2 4 | --- 5 | 6 | 7 | Gets the element at the zero-based `index` in `tuple`. 8 | Allowed in guard tests. 9 | 10 | {{< figure src="images/functions/Kernel/elem-2.svg" >}} 11 | 12 | It raises `ArgumentError` when `index` is negative or it is out of range of the tuple elements. 13 | 14 | {{< figure src="images/functions/Kernel/elem-2.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Kernel/put_elem-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: put_elem/3 3 | url: Kernel/put_elem/3 4 | --- 5 | 6 | 7 | Puts `value` at the given zero-based `index` in `tuple`. 8 | 9 | {{< figure src="images/functions/Kernel/put_elem-3.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Kernel/tap-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: tap/2 3 | url: Kernel/tap/2 4 | --- 5 | 6 | Pipes the first argument, `value`, into the function `fun`, and returns `value` itself. 7 | 8 | Useful for running synchronous side effects in a pipeline, using the `|>/2` operator. 9 | 10 | {{< figure src="images/functions/Kernel/tap-2.svg" >}} 11 | 12 | -------------------------------------------------------------------------------- /content/en/functions/Kernel/then-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: then/2 3 | url: Kernel/then/2 4 | --- 5 | 6 | Pipes the first argument, `value`, into the function `fun`, and returns its result. 7 | 8 | This is most commonly used in pipelines, using the `|>/2` operator, allowing you to pipe a value to a function outside of its first argument. 9 | 10 | {{< figure src="images/functions/Kernel/then-2.svg" >}} 11 | 12 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Keyword 3 | url: /Keyword 4 | --- 5 | 6 | **Keyword lists** are lists of **two-element tuples**, where the first element of the tuple is an **atom** and the second element can be any value, used mostly to work with optional values. 7 | 8 | {{< figure src="images/functions/Keyword/Keyword.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/delete-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: delete/2 3 | url: Keyword/delete/2 4 | --- 5 | 6 | 7 | Deletes the entries in the keyword list for a specific `key`. 8 | 9 | If the `key` does not exist, returns the keyword list unchanged. 10 | 11 | {{< figure src="images/functions/Keyword/delete-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/delete_first-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: delete_first/2 3 | url: Keyword/delete_first/2 4 | --- 5 | 6 | 7 | Deletes the first entry in the keyword list for a specific `key`. 8 | 9 | If the `key` does not exist, returns the keyword list unchanged. 10 | 11 | {{< figure src="images/functions/Keyword/delete_first-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/drop-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: drop/2 3 | url: Keyword/drop/2 4 | --- 5 | 6 | 7 | Drops the entries in the keyword list for a specific `key`. 8 | 9 | If the `key` does not exist, returns the keyword list unchanged. 10 | 11 | {{< figure src="images/functions/Keyword/drop-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/equal_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: equal_/2 3 | url: /Keyword/equal_/2 4 | aliases: ['/Keyword/equal_/2/'] 5 | draft: true 6 | --- 7 | 8 | 9 | Brief description and usage of the `Keyword`'s `equal_/2` function. 10 | 11 | {{< figure src="images/functions/Keyword/equal_-2.svg" >}} 12 | {{< figure src="images/functions/Keyword/equal_-2.2.svg" >}} 13 | {{< figure src="images/functions/Keyword/equal_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/fetch-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: fetch/2 3 | url: Keyword/fetch/2 4 | --- 5 | 6 | 7 | Fetches the value for a specific `key` and returns it in a tuple. 8 | 9 | {{< figure src="images/functions/Keyword/fetch-2.svg" >}} 10 | 11 | If the `key` does not exist, returns `:error`. 12 | 13 | {{< figure src="images/functions/Keyword/fetch-2.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/fetch_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: fetch!/2 3 | url: /Keyword/fetch_/2 4 | aliases: ['/Keyword/fetch!/2/'] 5 | --- 6 | 7 | 8 | Fetches the value for a specific `key` and returns it in a tuple. 9 | 10 | {{< figure src="images/functions/Keyword/fetch_-2.svg" >}} 11 | 12 | If `key` does not exist, a `KeyError` is raised. 13 | 14 | {{< figure src="images/functions/Keyword/fetch_-2.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/filter-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: filter/2 3 | url: Keyword/filter/2 4 | --- 5 | 6 | 7 | Returns only those elements for which `fun` returns a truthy value. 8 | 9 | {{< figure src="images/functions/Keyword/filter-2.svg" >}} 10 | 11 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/from_keys-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: from_keys/2 3 | url: Keyword/from_keys/2 4 | --- 5 | 6 | 7 | Builds a keyword list using `keys` as keys and `value` as fixed value. 8 | 9 | {{< figure src="images/functions/Keyword/from_keys-2.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/get-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: get/3 3 | url: Keyword/get/3 4 | --- 5 | 6 | 7 | Gets the value for a specific `key`. 8 | 9 | If duplicated entries exist, the first one is returned. 10 | 11 | {{< figure src="images/functions/Keyword/get-3.svg" >}} 12 | 13 | If `key` does not exist, return the `default` value (`nil` if no default value). 14 | 15 | {{< figure src="images/functions/Keyword/get-3.2.svg" >}} 16 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/get_and_update-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: get_and_update/3 3 | url: /Keyword/get_and_update/3 4 | draft: true 5 | --- 6 | 7 | # `Keyword.get_and_update/3` 8 | Brief description and usage of the `Keyword`'s `get_and_update/3` function. 9 | 10 | {{< figure src="images/functions/Keyword/get_and_update-3.svg" >}} 11 | {{< figure src="images/functions/Keyword/get_and_update-3.2.svg" >}} 12 | {{< figure src="images/functions/Keyword/get_and_update-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/get_and_update_-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: get_and_update_/3 3 | url: /Keyword/get_and_update_/3 4 | aliases: ['/Keyword/get_and_update_/3/'] 5 | draft: true 6 | --- 7 | 8 | # `Keyword.get_and_update_/3` 9 | Brief description and usage of the `Keyword`'s `get_and_update_/3` function. 10 | 11 | {{< figure src="images/functions/Keyword/get_and_update_-3.svg" >}} 12 | {{< figure src="images/functions/Keyword/get_and_update_-3.2.svg" >}} 13 | {{< figure src="images/functions/Keyword/get_and_update_-3.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/get_values-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: get_values/2 3 | url: Keyword/get_values/2 4 | --- 5 | 6 | 7 | Gets all values for a specific key. 8 | 9 | {{< figure src="images/functions/Keyword/get_values-2.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/has_key_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: has_key?/2 3 | url: /Keyword/has_key_/2 4 | aliases: ['/Keyword/has_key?/2/'] 5 | --- 6 | 7 | 8 | Returns true if a given `key` exists in the given keywords. 9 | 10 | {{< figure src="images/functions/Keyword/has_key_-2.svg" >}} 11 | 12 | If `key` does not exist, returns `false`. 13 | 14 | {{< figure src="images/functions/Keyword/has_key_-2.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/keys-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keys/1 3 | url: Keyword/keys/1 4 | --- 5 | 6 | 7 | Returns all keys from the keyword list. 8 | 9 | {{< figure src="images/functions/Keyword/keys-1.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/keyword_-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keyword?/1 3 | url: /Keyword/keyword_/1 4 | aliases: ['/Keyword/keyword?/1/'] 5 | --- 6 | 7 | 8 | Returns `true` if `term` is a keyword list; otherwise returns `false`. 9 | 10 | {{< figure src="images/functions/Keyword/keyword_-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/merge-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: merge/2 3 | url: /Keyword/merge/2 4 | draft: true 5 | --- 6 | 7 | # `Keyword.merge/2` 8 | Brief description and usage of the `Keyword`'s `merge/2` function. 9 | 10 | {{< figure src="images/functions/Keyword/merge-2.svg" >}} 11 | {{< figure src="images/functions/Keyword/merge-2.2.svg" >}} 12 | {{< figure src="images/functions/Keyword/merge-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/merge-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: merge/3 3 | url: /Keyword/merge/3 4 | draft: true 5 | --- 6 | 7 | # `Keyword.merge/3` 8 | Brief description and usage of the `Keyword`'s `merge/3` function. 9 | 10 | {{< figure src="images/functions/Keyword/merge-3.svg" >}} 11 | {{< figure src="images/functions/Keyword/merge-3.2.svg" >}} 12 | {{< figure src="images/functions/Keyword/merge-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/new-0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/0 3 | url: /Keyword/new/0 4 | --- 5 | 6 | 7 | Returns an empty keyword list, i.e. an empty list. 8 | 9 | {{< figure src="images/functions/Keyword/new-0.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/new-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/1 3 | url: /Keyword/new/1 4 | --- 5 | 6 | 7 | Creates a keyword list from an enumerable. 8 | Duplicated entries are removed, the latest one prevails. 9 | 10 | {{< figure src="images/functions/Keyword/new-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/new-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/2 3 | url: /Keyword/new/2 4 | --- 5 | 6 | 7 | Creates a keyword list from an enumerable via the transformation function `fun`. 8 | Duplicated entries are removed, the latest one prevails. 9 | 10 | {{< figure src="images/functions/Keyword/new-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/put-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: put/3 3 | url: /Keyword/put/3 4 | --- 5 | 6 | 7 | Puts the given `value` under `key`. 8 | If a previous value is already stored, all entries are removed and the value is overridden. 9 | 10 | {{< figure src="images/functions/Keyword/put-3.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/put_new-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: put_new/3 3 | url: /Keyword/put_new/3 4 | --- 5 | 6 | 7 | Puts the given `value` under `key` unless the entry `key` already exists. 8 | 9 | {{< figure src="images/functions/Keyword/put_new-3.svg" >}} 10 | 11 | If `keywords` doesn't contain `key` then it's added using `value` as value. 12 | 13 | {{< figure src="images/functions/Keyword/put_new-3.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/reject-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: reject/2 3 | url: Keyword/reject/2 4 | --- 5 | 6 | 7 | Returns only those elements for which `fun` **does not** return a truthy value. 8 | 9 | {{< figure src="images/functions/Keyword/reject-2.svg" >}} 10 | 11 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/replace-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace/3 3 | url: /Keyword/replace/3 4 | aliases: ['/Keyword/replace/3/'] 5 | --- 6 | 7 | 8 | Puts `value` under `key` only if the key already exists in `keywords`. 9 | 10 | In case the key exists multiple times in the keyword list, it removes later occurrences. 11 | 12 | {{< figure src="images/functions/Keyword/replace-3.svg" >}} 13 | 14 | If `key` is not present `keywords` is returned as it. 15 | 16 | {{< figure src="images/functions/Keyword/replace-3.2.svg" >}} 17 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/replace_-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace!/3 3 | url: /Keyword/replace_/3 4 | aliases: ['/Keyword/replace!/3/'] 5 | --- 6 | 7 | 8 | Puts `value` under `key` only if the key already exists in keywords. 9 | 10 | In case the key exists multiple times in the keyword list, it removes later occurrences. 11 | 12 | {{< figure src="images/functions/Keyword/replace_-3.svg" >}} 13 | 14 | If `key` is not present in `keywords`, a `KeyError` exception is raised. 15 | 16 | {{< figure src="images/functions/Keyword/replace_-3.2.svg" >}} 17 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/split-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: split/2 3 | url: /Keyword/split/2 4 | --- 5 | 6 | 7 | Takes all entries corresponding to the given `keys` in `keywords` and extracts them into a separate keyword list. 8 | 9 | Returns a tuple with the new list and the old list with removed keys. 10 | 11 | Keys for which there are no entries in the keyword list are ignored. 12 | 13 | Entries with duplicated keys end up in the same keyword list. 14 | 15 | {{< figure src="images/functions/Keyword/split-2.svg" >}} 16 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/take-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: take/2 3 | url: Keyword/take/2 4 | --- 5 | 6 | 7 | Takes all entries corresponding to the given `keys` and returns them in a new keyword list. 8 | 9 | Duplicated `keys` are preserved in the new keyword list. 10 | 11 | {{< figure src="images/functions/Keyword/take-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/to_list-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_list/1 3 | url: /Keyword/to_list/1 4 | --- 5 | 6 | 7 | Returns the keyword list itself. 8 | 9 | {{< figure src="images/functions/Keyword/to_list-1.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/update-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: update/4 3 | url: /Keyword/update/4 4 | --- 5 | 6 | 7 | Updates the `key` in `keywords` with the given function. 8 | If there are duplicated keys, they are all removed and only the first one is updated. 9 | 10 | {{< figure src="images/functions/Keyword/update-4.svg" >}} 11 | 12 | If the `key` does not exist, inserts `value` under `key`. 13 | 14 | {{< figure src="images/functions/Keyword/update-4.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/update_-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: update!/3 3 | url: /Keyword/update_/3 4 | aliases: ['/Keyword/update!/3/'] 5 | --- 6 | 7 | 8 | Updates the `key` with the given function `fun`. 9 | If there are duplicated keys, they are all removed and only the first one is updated. 10 | 11 | {{< figure src="images/functions/Keyword/update_-3.svg" >}} 12 | 13 | If the `key` does not exist, raises `KeyError`. 14 | 15 | {{< figure src="images/functions/Keyword/update_-3.2.svg" >}} 16 | -------------------------------------------------------------------------------- /content/en/functions/Keyword/values-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: values/1 3 | url: Keyword/values/1 4 | --- 5 | 6 | 7 | Returns all values from the `keyword` list. 8 | 9 | Values from duplicated keys will be kept in the final list of values. 10 | 11 | {{< figure src="images/functions/Keyword/values-1.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/List/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: List 3 | url: /List 4 | --- 5 | 6 | **List** is a linear data structure to store sequentially zero, one or more nodes. 7 | 8 | {{< figure src="images/functions/List/List.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/List/ascii_printable_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: ascii_printable_/2 3 | url: /List/ascii_printable_/2 4 | aliases: ['/List/ascii_printable_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `List.ascii_printable_/2` 9 | Brief description and usage of the `List`'s `ascii_printable_/2` function. 10 | 11 | {{< figure src="images/functions/List/ascii_printable_-2.svg" >}} 12 | {{< figure src="images/functions/List/ascii_printable_-2.2.svg" >}} 13 | {{< figure src="images/functions/List/ascii_printable_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/List/delete-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: delete/2 3 | url: List/delete/2 4 | --- 5 | 6 | 7 | Deletes the given element from the list. Returns a new list without the element. 8 | If the element occurs more than once in the list, just the first occurrence is removed. 9 | 10 | {{< figure src="images/functions/List/delete-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/List/delete_at-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: delete_at/2 3 | url: List/delete_at/2 4 | --- 5 | 6 | 7 | Produces a new list by removing the value at the specified `index`. 8 | If `index` is out of bounds, the original list is returned. 9 | 10 | {{< figure src="images/functions/List/delete_at-2.svg" >}} 11 | 12 | Negative indices indicate an offset from the end of the list. 13 | 14 | {{< figure src="images/functions/List/delete_at-2.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/List/duplicate-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: duplicate/2 3 | url: List/duplicate/2 4 | --- 5 | 6 | 7 | Duplicates the given element `count` times in a list. 8 | If `count` is 0, an empty list is returned. 9 | 10 | {{< figure src="images/functions/List/duplicate-2.svg" >}} -------------------------------------------------------------------------------- /content/en/functions/List/first-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: first/2 3 | url: List/first/2 4 | --- 5 | 6 | 7 | Returns the first element in `list`. 8 | 9 | {{< figure src="images/functions/List/first-2.svg" >}} 10 | 11 | Returns `default` if `list` is empty. 12 | 13 | {{< figure src="images/functions/List/first-2.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/List/flatten-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: flatten/1 3 | url: List/flatten/1 4 | --- 5 | 6 | 7 | Flattens the given `list` of nested lists. 8 | 9 | Empty list elements are discarded. 10 | 11 | {{< figure src="images/functions/List/flatten-1.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/List/flatten-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: flatten/2 3 | url: List/flatten/2 4 | --- 5 | 6 | Flattens the given list of nested lists. The list `tail` will be added at the end of the flattened list. 7 | 8 | Empty list elements from list are discarded, but not the ones from tail. 9 | 10 | {{< figure src="images/functions/List/flatten-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/List/foldl-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: foldl/3 3 | url: List/foldl/3 4 | --- 5 | 6 | 7 | Folds (reduces) the given list from the left with a function. Requires an accumulator. 8 | 9 | {{< figure src="images/functions/List/foldl-3.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/List/foldr-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: foldr/3 3 | url: List/foldr/3 4 | --- 5 | 6 | 7 | Folds (reduces) the given list from the right with a function. Requires an accumulator. 8 | 9 | {{< figure src="images/functions/List/foldr-3.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/List/improper_-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: improper_/1 3 | url: /List/improper_/1 4 | aliases: ['/List/improper_/1/'] 5 | draft: true 6 | --- 7 | 8 | # `List.improper_/1` 9 | Brief description and usage of the `List`'s `improper_/1` function. 10 | 11 | {{< figure src="images/functions/List/improper_-1.svg" >}} 12 | {{< figure src="images/functions/List/improper_-1.2.svg" >}} 13 | {{< figure src="images/functions/List/improper_-1.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/List/insert_at-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: insert_at/3 3 | url: List/insert_at/3 4 | --- 5 | 6 | 7 | Returns a list with value inserted at the specified index. 8 | Note that index is capped at the list length. 9 | 10 | {{< figure src="images/functions/List/insert_at-3.svg" >}} 11 | 12 | Negative indices indicate an offset from the end of the list. 13 | 14 | {{< figure src="images/functions/List/insert_at-3.2.svg" >}} 15 | 16 | 17 | -------------------------------------------------------------------------------- /content/en/functions/List/keydelete-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keydelete/3 3 | url: /List/keydelete/3 4 | --- 5 | 6 | 7 | Receives a list of tuples and deletes the first tuple where the `index`-th element is the given `key`. 8 | 9 | {{< figure src="images/functions/List/keydelete-3.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/List/keyfind-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keyfind/4 3 | url: /List/keyfind/4 4 | --- 5 | 6 | 7 | Receives a list of tuples and returns the first tuple where the `index`-th element is the given `key`. 8 | 9 | {{< figure src="images/functions/List/keyfind-4.svg" >}} 10 | 11 | If no matching tuple is found, `default` is returned. 12 | 13 | {{< figure src="images/functions/List/keyfind-4.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/List/keymember_-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keymember?/3 3 | url: /List/keymember_/3 4 | aliases: ['/List/keymember?/3/'] 5 | --- 6 | 7 | 8 | Receives a list of tuples and returns `true` if there is a tuple where the `index`-th element is the given key. 9 | 10 | {{< figure src="images/functions/List/keymember_-3.svg" >}} 11 | 12 | Otherwise it returns `false`. 13 | 14 | {{< figure src="images/functions/List/keymember_-3.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/List/keyreplace-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keyreplace/4 3 | url: /List/keyreplace/4 4 | --- 5 | 6 | 7 | Receives a list of tuples and replaces the tuple whose `index`-th element is `key` with `new_tuple`. 8 | 9 | {{< figure src="images/functions/List/keyreplace-4.svg" >}} 10 | 11 | If no tuple is found the list is returned untouched. 12 | 13 | {{< figure src="images/functions/List/keyreplace-4.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/List/keysort-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keysort/2 3 | url: /List/keysort/2 4 | draft: true 5 | --- 6 | 7 | # `List.keysort/2` 8 | Brief description and usage of the `List`'s `keysort/2` function. 9 | 10 | {{< figure src="images/functions/List/keysort-2.svg" >}} 11 | {{< figure src="images/functions/List/keysort-2.2.svg" >}} 12 | {{< figure src="images/functions/List/keysort-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/List/keystore-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keystore/4 3 | url: /List/keystore/4 4 | --- 5 | 6 | 7 | Receives a list of tuples and replaces the element identified by key at position with `new_tuple`. 8 | 9 | {{< figure src="images/functions/List/keystore-4.svg" >}} 10 | 11 | If the element does not exist, it is added to the end of the list. 12 | 13 | {{< figure src="images/functions/List/keystore-4.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/List/keytake-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keytake/3 3 | url: /List/keytake/3 4 | --- 5 | 6 | 7 | Receives a list of tuples and returns the first tuple where the element at `index` in the tuple matches the given `key`, as well as the list without found tuple. 8 | 9 | {{< figure src="images/functions/List/keytake-3.svg" >}} 10 | 11 | If such a tuple is not found, `nil` will be returned. 12 | 13 | {{< figure src="images/functions/List/keytake-3.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/List/last-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: last/2 3 | url: List/last/2 4 | --- 5 | 6 | 7 | Returns the last element in `list`. 8 | 9 | {{< figure src="images/functions/List/last-2.svg" >}} 10 | 11 | Returns `default` if `list` is empty. 12 | 13 | {{< figure src="images/functions/List/last-2.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/List/myers_difference-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: myers_difference/2 3 | url: /List/myers_difference/2 4 | draft: true 5 | --- 6 | 7 | # `List.myers_difference/2` 8 | Brief description and usage of the `List`'s `myers_difference/2` function. 9 | 10 | {{< figure src="images/functions/List/myers_difference-2.svg" >}} 11 | {{< figure src="images/functions/List/myers_difference-2.2.svg" >}} 12 | {{< figure src="images/functions/List/myers_difference-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/List/myers_difference-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: myers_difference/3 3 | url: /List/myers_difference/3 4 | draft: true 5 | --- 6 | 7 | # `List.myers_difference/3` 8 | Brief description and usage of the `List`'s `myers_difference/3` function. 9 | 10 | {{< figure src="images/functions/List/myers_difference-3.svg" >}} 11 | {{< figure src="images/functions/List/myers_difference-3.2.svg" >}} 12 | {{< figure src="images/functions/List/myers_difference-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/List/pop_at-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: pop_at/3 3 | url: List/pop_at/3 4 | --- 5 | 6 | 7 | Returns and removes the value at the specified index in the list. 8 | 9 | {{< figure src="images/functions/List/pop_at-3.svg" >}} 10 | 11 | Negative indices indicate an offset from the end of the list. 12 | 13 | {{< figure src="images/functions/List/pop_at-3.2.svg" >}} 14 | 15 | If index is out of bounds, the original list is returned. 16 | 17 | {{< figure src="images/functions/List/pop_at-3.3.svg" >}} 18 | -------------------------------------------------------------------------------- /content/en/functions/List/replace_at-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace_at/3 3 | url: /List/replace_at/3 4 | --- 5 | 6 | 7 | Returns a list with a replaced value at the specified `index`. 8 | 9 | {{< figure src="images/functions/List/replace_at-3.svg" >}} 10 | 11 | Negative indices indicate an offset from the end of the `list`. 12 | 13 | {{< figure src="images/functions/List/replace_at-3.2.svg" >}} 14 | 15 | If `index` is out of bounds, the original `list` is returned. 16 | -------------------------------------------------------------------------------- /content/en/functions/List/starts_with_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: starts_with?/2 3 | url: /List/starts_with_/2 4 | aliases: ['/List/starts_with?/2/'] 5 | --- 6 | 7 | 8 | Returns `true` if `list` starts with the given `prefix`. 9 | Also if `prefix` is an empty list, it returns `true`. 10 | 11 | {{< figure src="images/functions/List/starts_with_-2.svg" >}} 12 | 13 | Otherwise returns `false`. 14 | 15 | {{< figure src="images/functions/List/starts_with_-2.2.svg" >}} 16 | -------------------------------------------------------------------------------- /content/en/functions/List/to_atom-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_atom/1 3 | url: /List/to_atom/1 4 | draft: true 5 | --- 6 | 7 | # `List.to_atom/1` 8 | Brief description and usage of the `List`'s `to_atom/1` function. 9 | 10 | {{< figure src="images/functions/List/to_atom-1.svg" >}} 11 | {{< figure src="images/functions/List/to_atom-1.2.svg" >}} 12 | {{< figure src="images/functions/List/to_atom-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/List/to_charlist-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_charlist/1 3 | url: /List/to_charlist/1 4 | draft: true 5 | --- 6 | 7 | # `List.to_charlist/1` 8 | Brief description and usage of the `List`'s `to_charlist/1` function. 9 | 10 | {{< figure src="images/functions/List/to_charlist-1.svg" >}} 11 | {{< figure src="images/functions/List/to_charlist-1.2.svg" >}} 12 | {{< figure src="images/functions/List/to_charlist-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/List/to_existing_atom-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_existing_atom/1 3 | url: /List/to_existing_atom/1 4 | draft: true 5 | --- 6 | 7 | # `List.to_existing_atom/1` 8 | Brief description and usage of the `List`'s `to_existing_atom/1` function. 9 | 10 | {{< figure src="images/functions/List/to_existing_atom-1.svg" >}} 11 | {{< figure src="images/functions/List/to_existing_atom-1.2.svg" >}} 12 | {{< figure src="images/functions/List/to_existing_atom-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/List/to_float-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_float/1 3 | url: /List/to_float/1 4 | draft: true 5 | --- 6 | 7 | # `List.to_float/1` 8 | Brief description and usage of the `List`'s `to_float/1` function. 9 | 10 | {{< figure src="images/functions/List/to_float-1.svg" >}} 11 | {{< figure src="images/functions/List/to_float-1.2.svg" >}} 12 | {{< figure src="images/functions/List/to_float-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/List/to_integer-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_integer/1 3 | url: List/to_integer/1 4 | --- 5 | 6 | 7 | Returns an integer whose text representation is `charlist`. 8 | 9 | {{< figure src="images/functions/List/to_integer-1.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/List/to_integer-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_integer/2 3 | url: List/to_integer/2 4 | --- 5 | 6 | 7 | Returns an integer whose text representation is `charlist` in base `base`. 8 | 9 | The `base` needs to be between 2 and 36. 10 | 11 | {{< figure src="images/functions/List/to_integer-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/List/to_string-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_string/1 3 | url: /List/to_string/1 4 | draft: true 5 | --- 6 | 7 | # `List.to_string/1` 8 | Brief description and usage of the `List`'s `to_string/1` function. 9 | 10 | {{< figure src="images/functions/List/to_string-1.svg" >}} 11 | {{< figure src="images/functions/List/to_string-1.2.svg" >}} 12 | {{< figure src="images/functions/List/to_string-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/List/to_tuple-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_tuple/1 3 | url: List/to_tuple/1 4 | --- 5 | 6 | 7 | Converts a list to a tuple. 8 | 9 | {{< figure src="images/functions/List/to_tuple-1.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/List/update_at-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: update_at/3 3 | url: List/update_at/3 4 | --- 5 | 6 | 7 | Returns a list where its `index`-th element is updated according ta function `fun`. 8 | 9 | If `index` is out of bounds, the original list is returned. 10 | 11 | {{< figure src="images/functions/List/update_at-3.svg" >}} 12 | 13 | Negative indices indicate an offset from the end of the list. 14 | 15 | {{< figure src="images/functions/List/update_at-3.2.svg" >}} 16 | -------------------------------------------------------------------------------- /content/en/functions/List/wrap-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: wrap/1 3 | url: List/wrap/1 4 | --- 5 | 6 | 7 | Wraps `term` in a list if this is not list. 8 | 9 | {{< figure src="images/functions/List/wrap-1.svg" >}} 10 | 11 | If `term` is already a list, it returns the list. 12 | 13 | {{< figure src="images/functions/List/wrap-1.2.svg" >}} 14 | 15 | If `term` is `nil`, it returns an empty list. 16 | 17 | {{< figure src="images/functions/List/wrap-1.3.svg" >}} 18 | -------------------------------------------------------------------------------- /content/en/functions/Map/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Map 3 | url: /Map 4 | --- 5 | 6 | **Map**s are the "go to" key-value data structure in Elixir. 7 | 8 | Maps can be created with the `%{}` syntax, and key-value pairs can be expressed as `key => value`: 9 | 10 | {{< figure src="images/functions/Map/Map.svg" >}} 11 | 12 | When keys are atoms the key-value pairs can be expressed as `key: value`: 13 | 14 | {{< figure src="images/functions/Map/Map.2.svg" >}} 15 | 16 | -------------------------------------------------------------------------------- /content/en/functions/Map/delete-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: delete/2 3 | url: Map/delete/2 4 | --- 5 | 6 | 7 | Deletes the entry in map for a specific `key`. 8 | 9 | If the `key` does not exist, returns map unchanged. 10 | 11 | {{< figure src="images/functions/Map/delete-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Map/drop-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: drop/2 3 | url: Map/drop/2 4 | --- 5 | 6 | 7 | Drops the given `keys` from `map`. 8 | 9 | If `keys` contains keys that are not in `map`, they're simply ignored. 10 | 11 | {{< figure src="images/functions/Map/drop-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Map/equal_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: equal_/2 3 | url: /Map/equal_/2 4 | aliases: ['/Map/equal_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `Map.equal_/2` 9 | Brief description and usage of the `Map`'s `equal_/2` function. 10 | 11 | {{< figure src="images/functions/Map/equal_-2.svg" >}} 12 | {{< figure src="images/functions/Map/equal_-2.2.svg" >}} 13 | {{< figure src="images/functions/Map/equal_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Map/fetch-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: fetch/2 3 | url: Map/fetch/2 4 | --- 5 | 6 | 7 | Fetches the value for a specific `key` in the given `map` by returning `{:ok, value}`. 8 | 9 | {{< figure src="images/functions/Map/fetch-2.svg" >}} 10 | 11 | If `map` doesn't contain `key`, `:error` is returned. 12 | 13 | {{< figure src="images/functions/Map/fetch-2.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Map/fetch_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: fetch!/2 3 | url: /Map/fetch_/2 4 | aliases: ['/Map/fetch!/2/'] 5 | --- 6 | 7 | 8 | Fetches the value for a specific `key` in the given `map`. 9 | 10 | {{< figure src="images/functions/Map/fetch_-2.svg" >}} 11 | 12 | If `map` doesn't contain `key`, a `KeyError` exception is raised. 13 | 14 | {{< figure src="images/functions/Map/fetch_-2.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Map/from_struct-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: from_struct/1 3 | url: /Map/from_struct/1 4 | draft: true 5 | --- 6 | 7 | # `Map.from_struct/1` 8 | Brief description and usage of the `Map`'s `from_struct/1` function. 9 | 10 | {{< figure src="images/functions/Map/from_struct-1.svg" >}} 11 | {{< figure src="images/functions/Map/from_struct-1.2.svg" >}} 12 | {{< figure src="images/functions/Map/from_struct-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Map/get-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: get/3 3 | url: Map/get/3 4 | --- 5 | 6 | 7 | Gets the value for a specific `key` in `map`. 8 | 9 | {{< figure src="images/functions/Map/get-3.svg" >}} 10 | 11 | Otherwise, `default` is returned. 12 | 13 | {{< figure src="images/functions/Map/get-3.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Map/has_key_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: has_key?/2 3 | url: Map/has_key?/2 4 | --- 5 | 6 | 7 | Returns `true` if the given `key` exists in the given `map`. 8 | 9 | {{< figure src="images/functions/Map/has_key_-2.svg" >}} 10 | 11 | Otherwise, returns `false`. 12 | 13 | {{< figure src="images/functions/Map/has_key_-2.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Map/keys-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: keys/1 3 | url: Map/keys/1 4 | --- 5 | 6 | 7 | Returns all keys from `map`. 8 | 9 | {{< figure src="images/functions/Map/keys-1.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Map/merge-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: merge/2 3 | url: /Map/merge/2 4 | --- 5 | 6 | 7 | Merges two maps into one. 8 | 9 | All keys in `map2` will be added to `map1`, overriding any existing one (i.e., the keys in `map2` "have precedence" over the ones in `map1`). 10 | 11 | {{< figure src="images/functions/Map/merge-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Map/new-0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/0 3 | url: Map/new/0 4 | --- 5 | 6 | 7 | Returns a new empty map. 8 | 9 | {{< figure src="images/functions/Map/new-0.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Map/new-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/1 3 | url: Map/new/1 4 | --- 5 | 6 | 7 | Creates a map from an `enumerable`. 8 | 9 | Duplicated keys are removed; the latest one prevails. 10 | 11 | {{< figure src="images/functions/Map/new-1.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Map/new-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/2 3 | url: Map/new/2 4 | --- 5 | 6 | 7 | Creates a map from an `enumerable` via the given transformation function `fun`. 8 | 9 | Duplicated keys are removed; the latest one prevails. 10 | 11 | {{< figure src="images/functions/Map/new-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Map/pop-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: pop/3 3 | url: /Map/pop/3 4 | --- 5 | 6 | 7 | Returns and removes the value associated with key in map. 8 | 9 | If `key` is present in `map` with value `value`, `{value, new_map}` is returned where `new_map` is the result of removing `key` from `map`. 10 | 11 | {{< figure src="images/functions/Map/pop-3.svg" >}} 12 | 13 | If `key` is not present in `map`, `{default, map}` is returned. 14 | 15 | {{< figure src="images/functions/Map/pop-3.2.svg" >}} 16 | -------------------------------------------------------------------------------- /content/en/functions/Map/pop_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: pop!/2 3 | url: /Map/pop_/2 4 | aliases: ['/Map/pop!/2/'] 5 | --- 6 | 7 | 8 | Returns and removes the value associated with key in map. 9 | 10 | {{< figure src="images/functions/Map/pop_-2.svg" >}} 11 | 12 | Raises `KeyError` if `key` is not present. 13 | 14 | {{< figure src="images/functions/Map/pop_-2.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Map/put-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: put/3 3 | url: /Map/put/3 4 | --- 5 | 6 | 7 | Puts the given `value` under `key` in `map`. 8 | 9 | {{< figure src="images/functions/Map/put-3.svg" >}} 10 | 11 | If `map` doesn't contain `key` then it's added using `value` as value. 12 | 13 | {{< figure src="images/functions/Map/put-3.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Map/put_new-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: put_new/3 3 | url: Map/put_new/3 4 | --- 5 | 6 | 7 | Puts the given `value` under `key` unless the entry `key` already exists. 8 | 9 | {{< figure src="images/functions/Map/put_new-3.svg" >}} 10 | 11 | If `map` doesn't contain `key` then it's added using `value` as value. 12 | 13 | {{< figure src="images/functions/Map/put_new-3.2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Map/replace_-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace!/3 3 | url: /Map/replace_/3 4 | aliases: ['/Map/replace!/3/'] 5 | --- 6 | 7 | 8 | Alters the value stored under `key` to value, but only if the entry `key` already exists in map. 9 | 10 | {{< figure src="images/functions/Map/replace_-3.svg" >}} 11 | 12 | If `key` is not present in map, a `KeyError` exception is raised. 13 | 14 | {{< figure src="images/functions/Map/replace_-3.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Map/split-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: split/2 3 | url: Map/split/2 4 | --- 5 | 6 | 7 | Takes all entries corresponding to the given `keys` in `map` and extracts them into a separate map. 8 | 9 | Returns a tuple with the new map and the old map with removed keys. 10 | 11 | Keys for which there are no entries in `map` are ignored. 12 | 13 | {{< figure src="images/functions/Map/split-2.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Map/take-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: take/2 3 | url: Map/take/2 4 | --- 5 | 6 | 7 | Returns a new map with all the key-value pairs in `map` where the key is in `keys`. 8 | 9 | If `keys` contains keys that are not in map, they're simply ignored. 10 | 11 | {{< figure src="images/functions/Map/take-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Map/to_list-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_list/1 3 | url: /Map/to_list/1 4 | --- 5 | 6 | 7 | Converts `map` to a list. 8 | 9 | Each key-value pair in the `map` is converted to a two-element tuple `{key, value}` in the resulting list. 10 | 11 | {{< figure src="images/functions/Map/to_list-1.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Map/update_-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: update!/3 3 | url: /Map/update_/3 4 | aliases: ['/Map/update!/3/'] 5 | --- 6 | 7 | 8 | Updates the `key` in `map` with the given function `fun`. 9 | 10 | If `key` is present in `map` with value `value`, `fun` is invoked with argument `value` and its result is used as the new value of `key`. 11 | 12 | {{< figure src="images/functions/Map/update_-3.svg" >}} 13 | 14 | If `key` is not present in `map`, a `KeyError` exception is raised. 15 | 16 | {{< figure src="images/functions/Map/update_-3.2.svg" >}} 17 | -------------------------------------------------------------------------------- /content/en/functions/Map/values-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: values/1 3 | url: Map/values/1 4 | --- 5 | 6 | 7 | Returns all values from `map`. 8 | 9 | {{< figure src="images/functions/Map/values-1.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: MapSet 3 | url: /MapSet 4 | --- 5 | 6 | A set is a data structure that can contain unique elements of any kind, without any particular order. 7 | `MapSet` is the "go to" set data structure in Elixir. 8 | 9 | {{< figure src="images/functions/MapSet/MapSet.svg" >}} 10 | 11 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/delete-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: delete/2 3 | url: /MapSet/delete/2 4 | draft: true 5 | --- 6 | 7 | # `MapSet.delete/2` 8 | Brief description and usage of the `MapSet`'s `delete/2` function. 9 | 10 | {{< figure src="images/functions/MapSet/delete-2.svg" >}} 11 | {{< figure src="images/functions/MapSet/delete-2.2.svg" >}} 12 | {{< figure src="images/functions/MapSet/delete-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/difference-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: difference/2 3 | url: /MapSet/difference/2 4 | --- 5 | 6 | Returns a set that is `map_set1` without the members of `map_set2`. 7 | 8 | {{< figure src="images/functions/MapSet/difference-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/disjoint_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: disjoint_/2 3 | url: /MapSet/disjoint_/2 4 | aliases: ['/MapSet/disjoint_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `MapSet.disjoint_/2` 9 | Brief description and usage of the `MapSet`'s `disjoint_/2` function. 10 | 11 | {{< figure src="images/functions/MapSet/disjoint_-2.svg" >}} 12 | {{< figure src="images/functions/MapSet/disjoint_-2.2.svg" >}} 13 | {{< figure src="images/functions/MapSet/disjoint_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/equal_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: equal_/2 3 | url: /MapSet/equal_/2 4 | aliases: ['/MapSet/equal_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `MapSet.equal_/2` 9 | Brief description and usage of the `MapSet`'s `equal_/2` function. 10 | 11 | {{< figure src="images/functions/MapSet/equal_-2.svg" >}} 12 | {{< figure src="images/functions/MapSet/equal_-2.2.svg" >}} 13 | {{< figure src="images/functions/MapSet/equal_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/filter-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: filter/2 3 | url: /MapSet/filter/2 4 | --- 5 | 6 | Filters set by returning only the elements from `map_set` for which invoking `fun` returns a truthy value. 7 | 8 | {{< figure src="images/functions/MapSet/filter-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/intersection-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: intersection/2 3 | url: /MapSet/intersection/2 4 | --- 5 | 6 | Returns a set containing only members that `map_set1` and `map_set2` have in common. 7 | 8 | {{< figure src="images/functions/MapSet/intersection-2.svg" >}} 9 | 10 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/member_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: member_/2 3 | url: /MapSet/member_/2 4 | aliases: ['/MapSet/member_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `MapSet.member_/2` 9 | Brief description and usage of the `MapSet`'s `member_/2` function. 10 | 11 | {{< figure src="images/functions/MapSet/member_-2.svg" >}} 12 | {{< figure src="images/functions/MapSet/member_-2.2.svg" >}} 13 | {{< figure src="images/functions/MapSet/member_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/new-0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/0 3 | url: /MapSet/new/0 4 | --- 5 | 6 | Creates a new, empty set. 7 | 8 | {{< figure src="images/functions/MapSet/new-0.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/new-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/1 3 | url: /MapSet/new/1 4 | --- 5 | 6 | Creates a set from an enumerable. 7 | 8 | {{< figure src="images/functions/MapSet/new-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/new-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/2 3 | url: /MapSet/new/2 4 | --- 5 | 6 | Creates a set from an enumerable via the transformation function `fun`. 7 | 8 | {{< figure src="images/functions/MapSet/new-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/put-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: put/2 3 | url: /MapSet/put/2 4 | draft: true 5 | --- 6 | 7 | # `MapSet.put/2` 8 | Brief description and usage of the `MapSet`'s `put/2` function. 9 | 10 | {{< figure src="images/functions/MapSet/put-2.svg" >}} 11 | {{< figure src="images/functions/MapSet/put-2.2.svg" >}} 12 | {{< figure src="images/functions/MapSet/put-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/reject-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: reject/2 3 | url: /MapSet/reject/2 4 | --- 5 | 6 | Returns a set by excluding the elements from `map_set` for which invoking `fun` returns a truthy value. 7 | 8 | {{< figure src="images/functions/MapSet/reject-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/size-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: size/1 3 | url: /MapSet/size/1 4 | --- 5 | 6 | Returns the number of elements in `map_set`. 7 | 8 | {{< figure src="images/functions/MapSet/size-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/split_with-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: split_with/2 3 | url: /MapSet/split_with/2 4 | --- 5 | 6 | Splits the `map_set` into two `MapSet`s according to the given function `fun`. 7 | 8 | {{< figure src="images/functions/MapSet/split_with-2.svg" >}} 9 | 10 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/subset_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: subset_/2 3 | url: /MapSet/subset_/2 4 | aliases: ['/MapSet/subset_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `MapSet.subset_/2` 9 | Brief description and usage of the `MapSet`'s `subset_/2` function. 10 | 11 | {{< figure src="images/functions/MapSet/subset_-2.svg" >}} 12 | {{< figure src="images/functions/MapSet/subset_-2.2.svg" >}} 13 | {{< figure src="images/functions/MapSet/subset_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/to_list-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_list/1 3 | url: /MapSet/to_list/1 4 | --- 5 | 6 | Creates a list with the elements of the set. 7 | 8 | {{< figure src="images/functions/MapSet/to_list-1.svg" >}} 9 | 10 | -------------------------------------------------------------------------------- /content/en/functions/MapSet/union-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: union/2 3 | url: /MapSet/union/2 4 | --- 5 | 6 | Returns a set containing all members of `map_set1` and `map_set2`. 7 | 8 | {{< figure src="images/functions/MapSet/union-2.svg" >}} 9 | 10 | -------------------------------------------------------------------------------- /content/en/functions/Range/disjoint_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: disjoint?/2 3 | url: /Range/disjoint_/2 4 | aliases: 5 | - '/Range/disjoint?/2/' 6 | --- 7 | 8 | # Range.disjoint?/2 9 | Returns `true` if `range1` **does not** overlap `range2`. 10 | 11 | {{< figure src="images/functions/Range/disjoint_-2.svg" >}} 12 | 13 | It returns `false` otherwise. 14 | 15 | {{< figure src="images/functions/Range/disjoint_-2.2.svg" >}} 16 | -------------------------------------------------------------------------------- /content/en/functions/Range/new-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/2 3 | url: /Range/new/2 4 | --- 5 | 6 | Creates a range that go from `first` to `last`. 7 | 8 | {{< figure src="images/functions/Range/new-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Range/new-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: new/3 3 | url: /Range/new/3 4 | --- 5 | 6 | Creates a range that go from `first` to `last`, using `step` as incrementing/decrementing value. 7 | 8 | {{< figure src="images/functions/Range/new-3.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Range/to_list-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_list/1 3 | url: /Range/to_list/1 4 | --- 5 | 6 | Converts a range to a list. 7 | 8 | {{< figure src="images/functions/Range/to_list-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/chunk_by-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: chunk_by/2 3 | url: /Stream/chunk_by/2 4 | --- 5 | 6 | Chunks `stream` by buffering elements for which `fun` returns the same value. 7 | 8 | Elements are only emitted when `fun` returns a new value or the enumerable finishes. 9 | 10 | {{< figure src="images/functions/Stream/chunk_by-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Stream/chunk_every-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: chunk_every/2 3 | url: /Stream/chunk_every/2 4 | --- 5 | 6 | Returns stream of lists containing `count` elements each. 7 | 8 | {{< figure src="images/functions/Stream/chunk_every-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/concat-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: concat/1 3 | url: /Stream/concat/1 4 | draft: true 5 | --- 6 | 7 | # `Stream.concat/1` 8 | Brief description and usage of the `Stream`'s `concat/1` function. 9 | 10 | {{< figure src="images/functions/Stream/concat-1.svg" >}} 11 | {{< figure src="images/functions/Stream/concat-1.2.svg" >}} 12 | {{< figure src="images/functions/Stream/concat-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/concat-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: concat/2 3 | url: /Stream/concat/2 4 | draft: true 5 | --- 6 | 7 | # `Stream.concat/2` 8 | Brief description and usage of the `Stream`'s `concat/2` function. 9 | 10 | {{< figure src="images/functions/Stream/concat-2.svg" >}} 11 | {{< figure src="images/functions/Stream/concat-2.2.svg" >}} 12 | {{< figure src="images/functions/Stream/concat-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/cycle-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: cycle/1 3 | url: Stream/cycle/1 4 | --- 5 | 6 | Creates a stream that cycles through the given `enumerable`, infinitely. 7 | 8 | {{< figure src="images/functions/Stream/cycle-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/dedup-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: dedup/1 3 | url: /Stream/dedup/1 4 | --- 5 | 6 | Creates a stream that only emits elements if they are different from the last emitted element. 7 | 8 | This function only ever needs to store the last emitted element. 9 | 10 | Elements are compared using `===/2`. 11 | 12 | {{< figure src="images/functions/Stream/dedup-1.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/dedup_by-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: dedup_by/2 3 | url: /Stream/dedup_by/2 4 | --- 5 | 6 | Creates a stream that only emits elements if the result of calling `fun` on the element is different from the (stored) result of calling `fun` on the last emitted element. 7 | 8 | {{< figure src="images/functions/Stream/dedup_by-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/drop-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: drop/2 3 | url: /Stream/drop/2 4 | --- 5 | 6 | Lazily drops the next `count` elements from the stream. 7 | 8 | {{< figure src="images/functions/Stream/drop-2.svg" >}} 9 | 10 | If a negative `count` is given, it will drop the last `count` elements from the stream. 11 | 12 | {{< figure src="images/functions/Stream/drop-2.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/drop_every-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: drop_every/2 3 | url: /Stream/drop_every/2 4 | --- 5 | 6 | Creates a stream that drops every `nth` element from the enumerable. 7 | 8 | The first element is always dropped, unless `nth` is 0. 9 | 10 | `nth` must be a non-negative integer. 11 | 12 | {{< figure src="images/functions/Stream/drop_every-2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/drop_while-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: drop_while/2 3 | url: /Stream/drop_while/2 4 | --- 5 | 6 | Lazily drops elements of the enumerable while the given function returns a truthy value. 7 | 8 | {{< figure src="images/functions/Stream/drop_while-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/each-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: each/2 3 | url: /Stream/each/2 4 | --- 5 | 6 | Executes the given function for each element. 7 | 8 | {{< figure src="images/functions/Stream/each-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/filter-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: filter/2 3 | url: /Stream/filter/2 4 | --- 5 | 6 | Creates a stream that filters elements according to the given function on enumeration. 7 | 8 | {{< figure src="images/functions/Stream/filter-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/flat_map-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: flat_map/2 3 | url: Stream/flat_map/2 4 | --- 5 | 6 | Maps the given `fun` over enumerable and flattens the result. 7 | 8 | This function returns a new stream built by appending the result of invoking `fun` on each element of enumerable together. 9 | 10 | {{< figure src="images/functions/Stream/flat_map-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Stream/intersperse-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: intersperse/2 3 | url: /Stream/intersperse/2 4 | --- 5 | 6 | Lazily intersperses `elem` between each element of the stream. 7 | 8 | {{< figure src="images/functions/Stream/intersperse-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/interval-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: interval/1 3 | url: Stream/interval/1 4 | --- 5 | 6 | Creates a stream that emits a value after the given period `n` in milliseconds. 7 | 8 | The values emitted are an increasing counter starting at 0. This operation will block the caller by the given interval every time a new element is streamed. 9 | 10 | {{< figure src="images/functions/Stream/interval-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Stream/into-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: into/3 3 | url: /Stream/into/3 4 | draft: true 5 | --- 6 | 7 | # `Stream.into/3` 8 | Brief description and usage of the `Stream`'s `into/3` function. 9 | 10 | {{< figure src="images/functions/Stream/into-3.svg" >}} 11 | {{< figure src="images/functions/Stream/into-3.2.svg" >}} 12 | {{< figure src="images/functions/Stream/into-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/iterate-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: iterate/2 3 | url: Stream/iterate/2 4 | --- 5 | 6 | Emits a sequence of values, starting with `start`. Successive values are generated by calling `fun` on the previous value. 7 | 8 | {{< figure src="images/functions/Stream/iterate-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/map-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: map/2 3 | url: Stream/map/2 4 | --- 5 | 6 | Creates a stream that will apply the given function on enumeration. 7 | 8 | {{< figure src="images/functions/Stream/map-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/map_every-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: map_every/3 3 | url: /Stream/map_every/3 4 | --- 5 | 6 | Creates a stream that will apply the given function on every `nth` element from the enumerable. 7 | 8 | The first element is always passed to the given function. 9 | 10 | `nth` must be a non-negative integer. 11 | 12 | {{< figure src="images/functions/Stream/map_every-3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/reject-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: reject/2 3 | url: /Stream/reject/2 4 | --- 5 | 6 | Creates a stream that will reject elements according to the given function on enumeration. 7 | 8 | {{< figure src="images/functions/Stream/reject-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/repeatedly-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: repeatedly/1 3 | url: Stream/repeatedly/1 4 | --- 5 | 6 | Returns a stream generated by calling `fun` repeatedly. 7 | 8 | {{< figure src="images/functions/Stream/repeatedly-1.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/run-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: run/1 3 | url: /Stream/run/1 4 | --- 5 | 6 | Materializes the given `stream`. 7 | 8 | This is useful when a stream needs to be run, for side effects, and there is no interest in its return result. 9 | 10 | {{< figure src="images/functions/Stream/run-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Stream/scan-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: scan/2 3 | url: /Stream/scan/2 4 | --- 5 | 6 | Creates a stream that applies the given function to each element, emits the result and uses the same result as the accumulator for the next computation. Uses the first element in the enumerable as the starting value. 7 | 8 | {{< figure src="images/functions/Stream/scan-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/scan-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: scan/3 3 | url: /Stream/scan/3 4 | --- 5 | 6 | Creates a stream that applies the given function to each element, emits the result and uses the same result as the accumulator for the next computation. Uses the given acc as the starting value. 7 | 8 | {{< figure src="images/functions/Stream/scan-3.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/take-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: take/2 3 | url: /Stream/take/2 4 | --- 5 | 6 | Lazily takes the next `count` elements from `stream` and stops enumeration. 7 | 8 | {{< figure src="images/functions/Stream/take-2.svg" >}} 9 | 10 | If a negative `count` is given, the last `count` values will be taken. 11 | 12 | {{< figure src="images/functions/Stream/take-2.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/take_every-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: take_every/2 3 | url: /Stream/take_every/2 4 | --- 5 | 6 | Creates a stream that takes every `nth` elements from the enumerable. 7 | 8 | The first element is always included, unless `nth` is 0. 9 | 10 | `nth` must be a non-negative integer. 11 | 12 | {{< figure src="images/functions/Stream/take_every-2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/take_while-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: take_while/2 3 | url: /Stream/take_while/2 4 | --- 5 | 6 | Lazily takes elements of the enumerable while the given function returns a truthy value. 7 | 8 | {{< figure src="images/functions/Stream/take_while-2.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Stream/timer-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: timer/1 3 | url: Stream/timer/1 4 | --- 5 | 6 | Creates a stream that emits a single value after `n` milliseconds. 7 | 8 | The value emitted is 0. This operation will block the caller by the given time until the element is streamed. 9 | 10 | {{< figure src="images/functions/Stream/timer-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Stream/transform-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: transform/3 3 | url: Stream/transform/3 4 | --- 5 | 6 | Transforms an existing stream. 7 | 8 | It expects an accumulator and a function that receives each stream element and an accumulator. It must return a tuple, where the first element is a new stream (often a list) or the atom `:halt`, and the second element is the accumulator to be used by the next element, if any, in both cases. 9 | 10 | {{< figure src="images/functions/Stream/transform-3.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Stream/transform-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: transform/4 3 | url: Stream/transform/4 4 | --- 5 | 6 | Transforms an existing stream with function-based start and finish. 7 | 8 | The accumulator is only calculated when transformation starts. It also allows an after function to be given which is invoked when the stream halts or completes. 9 | 10 | {{< figure src="images/functions/Stream/transform-4.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Stream/unfold-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: unfold/2 3 | url: Stream/unfold/2 4 | --- 5 | 6 | Emits a sequence of values for the given accumulator `acc`. 7 | 8 | Successive values are generated by calling `fun` with the previous accumulator and it must return a tuple with the current value and next accumulator. 9 | 10 | {{< figure src="images/functions/Stream/unfold-2.svg" >}} 11 | 12 | The enumeration finishes when `fun` returns `nil`. 13 | 14 | {{< figure src="images/functions/Stream/unfold-2.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Stream/uniq-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: uniq/1 3 | url: /Stream/uniq/1 4 | --- 5 | 6 | Creates a stream that only emits elements if they are unique. 7 | 8 | {{< figure src="images/functions/Stream/uniq-1.svg" >}} 9 | 10 | Keep in mind that, in order to know if an element is unique or not, this function needs to store all unique values emitted by the stream. Therefore, if the stream is infinite, the number of elements stored will grow infinitely, never being garbage-collected. 11 | -------------------------------------------------------------------------------- /content/en/functions/Stream/with_index-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: with_index/2 3 | url: /Stream/with_index/2 4 | --- 5 | 6 | Creates a stream where each element in the enumerable will be wrapped in a tuple alongside its index. 7 | 8 | {{< figure src="images/functions/Stream/with_index-2.svg" >}} 9 | 10 | If `offset` is given, we will index from the given offset instead of from zero. 11 | 12 | {{< figure src="images/functions/Stream/with_index-2.2.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/Stream/zip-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: zip/1 3 | url: /Stream/zip/1 4 | --- 5 | 6 | Zips corresponding elements from a finite collection of enumerables into one stream of tuples. 7 | 8 | The zipping finishes as soon as any enumerable in the given collection completes. 9 | 10 | {{< figure src="images/functions/Stream/zip-1.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/Stream/zip-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: zip/2 3 | url: /Stream/zip/2 4 | --- 5 | 6 | Zips two collections together, lazily. 7 | 8 | The zipping finishes as soon as any enumerable completes. 9 | 10 | {{< figure src="images/functions/Stream/zip-2.svg" >}} 11 | -------------------------------------------------------------------------------- /content/en/functions/String/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: String 3 | url: /String 4 | --- 5 | 6 | Maps are the "go to" key-value data structure in Elixir. 7 | 8 | Maps can be created with the %{} syntax, and key-value pairs can be expressed as key => value: 9 | -------------------------------------------------------------------------------- /content/en/functions/String/at-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: at/2 3 | url: /String/at/2 4 | draft: true 5 | --- 6 | 7 | # `String.at/2` 8 | Brief description and usage of the `String`'s `at/2` function. 9 | 10 | {{< figure src="images/functions/String/at-2.svg" >}} 11 | {{< figure src="images/functions/String/at-2.2.svg" >}} 12 | {{< figure src="images/functions/String/at-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/bag_distance-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: bag_distance/2 3 | url: /String/bag_distance/2 4 | draft: true 5 | --- 6 | 7 | # `String.bag_distance/2` 8 | Brief description and usage of the `String`'s `bag_distance/2` function. 9 | 10 | {{< figure src="images/functions/String/bag_distance-2.svg" >}} 11 | {{< figure src="images/functions/String/bag_distance-2.2.svg" >}} 12 | {{< figure src="images/functions/String/bag_distance-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/capitalize-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: capitalize/2 3 | url: /String/capitalize/2 4 | draft: true 5 | --- 6 | 7 | # `String.capitalize/2` 8 | Brief description and usage of the `String`'s `capitalize/2` function. 9 | 10 | {{< figure src="images/functions/String/capitalize-2.svg" >}} 11 | {{< figure src="images/functions/String/capitalize-2.2.svg" >}} 12 | {{< figure src="images/functions/String/capitalize-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/chunk-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: chunk/2 3 | url: /String/chunk/2 4 | draft: true 5 | --- 6 | 7 | # `String.chunk/2` 8 | Brief description and usage of the `String`'s `chunk/2` function. 9 | 10 | {{< figure src="images/functions/String/chunk-2.svg" >}} 11 | {{< figure src="images/functions/String/chunk-2.2.svg" >}} 12 | {{< figure src="images/functions/String/chunk-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/codepoints-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: codepoints/1 3 | url: /String/codepoints/1 4 | draft: true 5 | --- 6 | 7 | # `String.codepoints/1` 8 | Brief description and usage of the `String`'s `codepoints/1` function. 9 | 10 | {{< figure src="images/functions/String/codepoints-1.svg" >}} 11 | {{< figure src="images/functions/String/codepoints-1.2.svg" >}} 12 | {{< figure src="images/functions/String/codepoints-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/contains_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: contains_/2 3 | url: /String/contains_/2 4 | aliases: ['/String/contains_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `String.contains_/2` 9 | Brief description and usage of the `String`'s `contains_/2` function. 10 | 11 | {{< figure src="images/functions/String/contains_-2.svg" >}} 12 | {{< figure src="images/functions/String/contains_-2.2.svg" >}} 13 | {{< figure src="images/functions/String/contains_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/String/downcase-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: downcase/2 3 | url: /String/downcase/2 4 | draft: true 5 | --- 6 | 7 | # `String.downcase/2` 8 | Brief description and usage of the `String`'s `downcase/2` function. 9 | 10 | {{< figure src="images/functions/String/downcase-2.svg" >}} 11 | {{< figure src="images/functions/String/downcase-2.2.svg" >}} 12 | {{< figure src="images/functions/String/downcase-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/duplicate-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: duplicate/2 3 | url: /String/duplicate/2 4 | draft: true 5 | --- 6 | 7 | # `String.duplicate/2` 8 | Brief description and usage of the `String`'s `duplicate/2` function. 9 | 10 | {{< figure src="images/functions/String/duplicate-2.svg" >}} 11 | {{< figure src="images/functions/String/duplicate-2.2.svg" >}} 12 | {{< figure src="images/functions/String/duplicate-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/ends_with_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: ends_with_/2 3 | url: /String/ends_with_/2 4 | aliases: ['/String/ends_with_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `String.ends_with_/2` 9 | Brief description and usage of the `String`'s `ends_with_/2` function. 10 | 11 | {{< figure src="images/functions/String/ends_with_-2.svg" >}} 12 | {{< figure src="images/functions/String/ends_with_-2.2.svg" >}} 13 | {{< figure src="images/functions/String/ends_with_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/String/equivalent_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: equivalent_/2 3 | url: /String/equivalent_/2 4 | aliases: ['/String/equivalent_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `String.equivalent_/2` 9 | Brief description and usage of the `String`'s `equivalent_/2` function. 10 | 11 | {{< figure src="images/functions/String/equivalent_-2.svg" >}} 12 | {{< figure src="images/functions/String/equivalent_-2.2.svg" >}} 13 | {{< figure src="images/functions/String/equivalent_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/String/first-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: first/1 3 | url: /String/first/1 4 | draft: true 5 | --- 6 | 7 | # `String.first/1` 8 | Brief description and usage of the `String`'s `first/1` function. 9 | 10 | {{< figure src="images/functions/String/first-1.svg" >}} 11 | {{< figure src="images/functions/String/first-1.2.svg" >}} 12 | {{< figure src="images/functions/String/first-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/graphemes-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: graphemes/1 3 | url: /String/graphemes/1 4 | draft: true 5 | --- 6 | 7 | # `String.graphemes/1` 8 | Brief description and usage of the `String`'s `graphemes/1` function. 9 | 10 | {{< figure src="images/functions/String/graphemes-1.svg" >}} 11 | {{< figure src="images/functions/String/graphemes-1.2.svg" >}} 12 | {{< figure src="images/functions/String/graphemes-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/jaro_distance-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: jaro_distance/2 3 | url: /String/jaro_distance/2 4 | draft: true 5 | --- 6 | 7 | # `String.jaro_distance/2` 8 | Brief description and usage of the `String`'s `jaro_distance/2` function. 9 | 10 | {{< figure src="images/functions/String/jaro_distance-2.svg" >}} 11 | {{< figure src="images/functions/String/jaro_distance-2.2.svg" >}} 12 | {{< figure src="images/functions/String/jaro_distance-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/last-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: last/1 3 | url: /String/last/1 4 | draft: true 5 | --- 6 | 7 | # `String.last/1` 8 | Brief description and usage of the `String`'s `last/1` function. 9 | 10 | {{< figure src="images/functions/String/last-1.svg" >}} 11 | {{< figure src="images/functions/String/last-1.2.svg" >}} 12 | {{< figure src="images/functions/String/last-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/length-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: length/1 3 | url: /String/length/1 4 | draft: true 5 | --- 6 | 7 | # `String.length/1` 8 | Brief description and usage of the `String`'s `length/1` function. 9 | 10 | {{< figure src="images/functions/String/length-1.svg" >}} 11 | {{< figure src="images/functions/String/length-1.2.svg" >}} 12 | {{< figure src="images/functions/String/length-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/match_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: match_/2 3 | url: /String/match_/2 4 | aliases: ['/String/match_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `String.match_/2` 9 | Brief description and usage of the `String`'s `match_/2` function. 10 | 11 | {{< figure src="images/functions/String/match_-2.svg" >}} 12 | {{< figure src="images/functions/String/match_-2.2.svg" >}} 13 | {{< figure src="images/functions/String/match_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/String/myers_difference-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: myers_difference/2 3 | url: /String/myers_difference/2 4 | draft: true 5 | --- 6 | 7 | # `String.myers_difference/2` 8 | Brief description and usage of the `String`'s `myers_difference/2` function. 9 | 10 | {{< figure src="images/functions/String/myers_difference-2.svg" >}} 11 | {{< figure src="images/functions/String/myers_difference-2.2.svg" >}} 12 | {{< figure src="images/functions/String/myers_difference-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/next_codepoint-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: next_codepoint/1 3 | url: /String/next_codepoint/1 4 | draft: true 5 | --- 6 | 7 | # `String.next_codepoint/1` 8 | Brief description and usage of the `String`'s `next_codepoint/1` function. 9 | 10 | {{< figure src="images/functions/String/next_codepoint-1.svg" >}} 11 | {{< figure src="images/functions/String/next_codepoint-1.2.svg" >}} 12 | {{< figure src="images/functions/String/next_codepoint-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/next_grapheme-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: next_grapheme/1 3 | url: /String/next_grapheme/1 4 | draft: true 5 | --- 6 | 7 | # `String.next_grapheme/1` 8 | Brief description and usage of the `String`'s `next_grapheme/1` function. 9 | 10 | {{< figure src="images/functions/String/next_grapheme-1.svg" >}} 11 | {{< figure src="images/functions/String/next_grapheme-1.2.svg" >}} 12 | {{< figure src="images/functions/String/next_grapheme-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/next_grapheme_size-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: next_grapheme_size/1 3 | url: /String/next_grapheme_size/1 4 | draft: true 5 | --- 6 | 7 | # `String.next_grapheme_size/1` 8 | Brief description and usage of the `String`'s `next_grapheme_size/1` function. 9 | 10 | {{< figure src="images/functions/String/next_grapheme_size-1.svg" >}} 11 | {{< figure src="images/functions/String/next_grapheme_size-1.2.svg" >}} 12 | {{< figure src="images/functions/String/next_grapheme_size-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/normalize-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: normalize/2 3 | url: /String/normalize/2 4 | draft: true 5 | --- 6 | 7 | # `String.normalize/2` 8 | Brief description and usage of the `String`'s `normalize/2` function. 9 | 10 | {{< figure src="images/functions/String/normalize-2.svg" >}} 11 | {{< figure src="images/functions/String/normalize-2.2.svg" >}} 12 | {{< figure src="images/functions/String/normalize-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/pad_leading-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: pad_leading/3 3 | url: /String/pad_leading/3 4 | draft: true 5 | --- 6 | 7 | # `String.pad_leading/3` 8 | Brief description and usage of the `String`'s `pad_leading/3` function. 9 | 10 | {{< figure src="images/functions/String/pad_leading-3.svg" >}} 11 | {{< figure src="images/functions/String/pad_leading-3.2.svg" >}} 12 | {{< figure src="images/functions/String/pad_leading-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/pad_trailing-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: pad_trailing/3 3 | url: /String/pad_trailing/3 4 | draft: true 5 | --- 6 | 7 | # `String.pad_trailing/3` 8 | Brief description and usage of the `String`'s `pad_trailing/3` function. 9 | 10 | {{< figure src="images/functions/String/pad_trailing-3.svg" >}} 11 | {{< figure src="images/functions/String/pad_trailing-3.2.svg" >}} 12 | {{< figure src="images/functions/String/pad_trailing-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/printable_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: printable_/2 3 | url: /String/printable_/2 4 | aliases: ['/String/printable_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `String.printable_/2` 9 | Brief description and usage of the `String`'s `printable_/2` function. 10 | 11 | {{< figure src="images/functions/String/printable_-2.svg" >}} 12 | {{< figure src="images/functions/String/printable_-2.2.svg" >}} 13 | {{< figure src="images/functions/String/printable_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/String/replace-4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace/4 3 | url: /String/replace/4 4 | draft: true 5 | --- 6 | 7 | # `String.replace/4` 8 | Brief description and usage of the `String`'s `replace/4` function. 9 | 10 | {{< figure src="images/functions/String/replace-4.svg" >}} 11 | {{< figure src="images/functions/String/replace-4.2.svg" >}} 12 | {{< figure src="images/functions/String/replace-4.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/replace_leading-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace_leading/3 3 | url: /String/replace_leading/3 4 | draft: true 5 | --- 6 | 7 | # `String.replace_leading/3` 8 | Brief description and usage of the `String`'s `replace_leading/3` function. 9 | 10 | {{< figure src="images/functions/String/replace_leading-3.svg" >}} 11 | {{< figure src="images/functions/String/replace_leading-3.2.svg" >}} 12 | {{< figure src="images/functions/String/replace_leading-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/replace_prefix-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace_prefix/3 3 | url: /String/replace_prefix/3 4 | draft: true 5 | --- 6 | 7 | # `String.replace_prefix/3` 8 | Brief description and usage of the `String`'s `replace_prefix/3` function. 9 | 10 | {{< figure src="images/functions/String/replace_prefix-3.svg" >}} 11 | {{< figure src="images/functions/String/replace_prefix-3.2.svg" >}} 12 | {{< figure src="images/functions/String/replace_prefix-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/replace_suffix-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace_suffix/3 3 | url: /String/replace_suffix/3 4 | draft: true 5 | --- 6 | 7 | # `String.replace_suffix/3` 8 | Brief description and usage of the `String`'s `replace_suffix/3` function. 9 | 10 | {{< figure src="images/functions/String/replace_suffix-3.svg" >}} 11 | {{< figure src="images/functions/String/replace_suffix-3.2.svg" >}} 12 | {{< figure src="images/functions/String/replace_suffix-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/replace_trailing-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace_trailing/3 3 | url: /String/replace_trailing/3 4 | draft: true 5 | --- 6 | 7 | # `String.replace_trailing/3` 8 | Brief description and usage of the `String`'s `replace_trailing/3` function. 9 | 10 | {{< figure src="images/functions/String/replace_trailing-3.svg" >}} 11 | {{< figure src="images/functions/String/replace_trailing-3.2.svg" >}} 12 | {{< figure src="images/functions/String/replace_trailing-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/reverse-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: reverse/1 3 | url: /String/reverse/1 4 | draft: true 5 | --- 6 | 7 | # `String.reverse/1` 8 | Brief description and usage of the `String`'s `reverse/1` function. 9 | 10 | {{< figure src="images/functions/String/reverse-1.svg" >}} 11 | {{< figure src="images/functions/String/reverse-1.2.svg" >}} 12 | {{< figure src="images/functions/String/reverse-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/slice-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: slice/2 3 | url: /String/slice/2 4 | draft: true 5 | --- 6 | 7 | # `String.slice/2` 8 | Brief description and usage of the `String`'s `slice/2` function. 9 | 10 | {{< figure src="images/functions/String/slice-2.svg" >}} 11 | {{< figure src="images/functions/String/slice-2.2.svg" >}} 12 | {{< figure src="images/functions/String/slice-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/slice-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: slice/3 3 | url: /String/slice/3 4 | draft: true 5 | --- 6 | 7 | # `String.slice/3` 8 | Brief description and usage of the `String`'s `slice/3` function. 9 | 10 | {{< figure src="images/functions/String/slice-3.svg" >}} 11 | {{< figure src="images/functions/String/slice-3.2.svg" >}} 12 | {{< figure src="images/functions/String/slice-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/split-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: split/1 3 | url: /String/split/1 4 | draft: true 5 | --- 6 | 7 | # `String.split/1` 8 | Brief description and usage of the `String`'s `split/1` function. 9 | 10 | {{< figure src="images/functions/String/split-1.svg" >}} 11 | {{< figure src="images/functions/String/split-1.2.svg" >}} 12 | {{< figure src="images/functions/String/split-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/split-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: split/3 3 | url: /String/split/3 4 | draft: true 5 | --- 6 | 7 | # `String.split/3` 8 | Brief description and usage of the `String`'s `split/3` function. 9 | 10 | {{< figure src="images/functions/String/split-3.svg" >}} 11 | {{< figure src="images/functions/String/split-3.2.svg" >}} 12 | {{< figure src="images/functions/String/split-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/split_at-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: split_at/2 3 | url: /String/split_at/2 4 | draft: true 5 | --- 6 | 7 | # `String.split_at/2` 8 | Brief description and usage of the `String`'s `split_at/2` function. 9 | 10 | {{< figure src="images/functions/String/split_at-2.svg" >}} 11 | {{< figure src="images/functions/String/split_at-2.2.svg" >}} 12 | {{< figure src="images/functions/String/split_at-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/splitter-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: splitter/3 3 | url: /String/splitter/3 4 | draft: true 5 | --- 6 | 7 | # `String.splitter/3` 8 | Brief description and usage of the `String`'s `splitter/3` function. 9 | 10 | {{< figure src="images/functions/String/splitter-3.svg" >}} 11 | {{< figure src="images/functions/String/splitter-3.2.svg" >}} 12 | {{< figure src="images/functions/String/splitter-3.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/starts_with_-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: starts_with_/2 3 | url: /String/starts_with_/2 4 | aliases: ['/String/starts_with_/2/'] 5 | draft: true 6 | --- 7 | 8 | # `String.starts_with_/2` 9 | Brief description and usage of the `String`'s `starts_with_/2` function. 10 | 11 | {{< figure src="images/functions/String/starts_with_-2.svg" >}} 12 | {{< figure src="images/functions/String/starts_with_-2.2.svg" >}} 13 | {{< figure src="images/functions/String/starts_with_-2.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/String/to_atom-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_atom/1 3 | url: /String/to_atom/1 4 | draft: true 5 | --- 6 | 7 | # `String.to_atom/1` 8 | Brief description and usage of the `String`'s `to_atom/1` function. 9 | 10 | {{< figure src="images/functions/String/to_atom-1.svg" >}} 11 | {{< figure src="images/functions/String/to_atom-1.2.svg" >}} 12 | {{< figure src="images/functions/String/to_atom-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/to_charlist-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_charlist/1 3 | url: /String/to_charlist/1 4 | draft: true 5 | --- 6 | 7 | # `String.to_charlist/1` 8 | Brief description and usage of the `String`'s `to_charlist/1` function. 9 | 10 | {{< figure src="images/functions/String/to_charlist-1.svg" >}} 11 | {{< figure src="images/functions/String/to_charlist-1.2.svg" >}} 12 | {{< figure src="images/functions/String/to_charlist-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/to_existing_atom-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_existing_atom/1 3 | url: /String/to_existing_atom/1 4 | draft: true 5 | --- 6 | 7 | # `String.to_existing_atom/1` 8 | Brief description and usage of the `String`'s `to_existing_atom/1` function. 9 | 10 | {{< figure src="images/functions/String/to_existing_atom-1.svg" >}} 11 | {{< figure src="images/functions/String/to_existing_atom-1.2.svg" >}} 12 | {{< figure src="images/functions/String/to_existing_atom-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/to_float-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_float/1 3 | url: /String/to_float/1 4 | draft: true 5 | --- 6 | 7 | # `String.to_float/1` 8 | Brief description and usage of the `String`'s `to_float/1` function. 9 | 10 | {{< figure src="images/functions/String/to_float-1.svg" >}} 11 | {{< figure src="images/functions/String/to_float-1.2.svg" >}} 12 | {{< figure src="images/functions/String/to_float-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/to_integer-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_integer/1 3 | url: /String/to_integer/1 4 | draft: true 5 | --- 6 | 7 | # `String.to_integer/1` 8 | Brief description and usage of the `String`'s `to_integer/1` function. 9 | 10 | {{< figure src="images/functions/String/to_integer-1.svg" >}} 11 | {{< figure src="images/functions/String/to_integer-1.2.svg" >}} 12 | {{< figure src="images/functions/String/to_integer-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/to_integer-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_integer/2 3 | url: /String/to_integer/2 4 | draft: true 5 | --- 6 | 7 | # `String.to_integer/2` 8 | Brief description and usage of the `String`'s `to_integer/2` function. 9 | 10 | {{< figure src="images/functions/String/to_integer-2.svg" >}} 11 | {{< figure src="images/functions/String/to_integer-2.2.svg" >}} 12 | {{< figure src="images/functions/String/to_integer-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/trim-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: trim/1 3 | url: /String/trim/1 4 | draft: true 5 | --- 6 | 7 | # `String.trim/1` 8 | Brief description and usage of the `String`'s `trim/1` function. 9 | 10 | {{< figure src="images/functions/String/trim-1.svg" >}} 11 | {{< figure src="images/functions/String/trim-1.2.svg" >}} 12 | {{< figure src="images/functions/String/trim-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/trim-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: trim/2 3 | url: /String/trim/2 4 | draft: true 5 | --- 6 | 7 | # `String.trim/2` 8 | Brief description and usage of the `String`'s `trim/2` function. 9 | 10 | {{< figure src="images/functions/String/trim-2.svg" >}} 11 | {{< figure src="images/functions/String/trim-2.2.svg" >}} 12 | {{< figure src="images/functions/String/trim-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/trim_leading-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: trim_leading/1 3 | url: /String/trim_leading/1 4 | draft: true 5 | --- 6 | 7 | # `String.trim_leading/1` 8 | Brief description and usage of the `String`'s `trim_leading/1` function. 9 | 10 | {{< figure src="images/functions/String/trim_leading-1.svg" >}} 11 | {{< figure src="images/functions/String/trim_leading-1.2.svg" >}} 12 | {{< figure src="images/functions/String/trim_leading-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/trim_leading-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: trim_leading/2 3 | url: /String/trim_leading/2 4 | draft: true 5 | --- 6 | 7 | # `String.trim_leading/2` 8 | Brief description and usage of the `String`'s `trim_leading/2` function. 9 | 10 | {{< figure src="images/functions/String/trim_leading-2.svg" >}} 11 | {{< figure src="images/functions/String/trim_leading-2.2.svg" >}} 12 | {{< figure src="images/functions/String/trim_leading-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/trim_trailing-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: trim_trailing/1 3 | url: /String/trim_trailing/1 4 | draft: true 5 | --- 6 | 7 | # `String.trim_trailing/1` 8 | Brief description and usage of the `String`'s `trim_trailing/1` function. 9 | 10 | {{< figure src="images/functions/String/trim_trailing-1.svg" >}} 11 | {{< figure src="images/functions/String/trim_trailing-1.2.svg" >}} 12 | {{< figure src="images/functions/String/trim_trailing-1.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/trim_trailing-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: trim_trailing/2 3 | url: /String/trim_trailing/2 4 | draft: true 5 | --- 6 | 7 | # `String.trim_trailing/2` 8 | Brief description and usage of the `String`'s `trim_trailing/2` function. 9 | 10 | {{< figure src="images/functions/String/trim_trailing-2.svg" >}} 11 | {{< figure src="images/functions/String/trim_trailing-2.2.svg" >}} 12 | {{< figure src="images/functions/String/trim_trailing-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/upcase-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: upcase/2 3 | url: /String/upcase/2 4 | draft: true 5 | --- 6 | 7 | # `String.upcase/2` 8 | Brief description and usage of the `String`'s `upcase/2` function. 9 | 10 | {{< figure src="images/functions/String/upcase-2.svg" >}} 11 | {{< figure src="images/functions/String/upcase-2.2.svg" >}} 12 | {{< figure src="images/functions/String/upcase-2.3.svg" >}} 13 | -------------------------------------------------------------------------------- /content/en/functions/String/valid_-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: valid_/1 3 | url: /String/valid_/1 4 | aliases: ['/String/valid_/1/'] 5 | draft: true 6 | --- 7 | 8 | # `String.valid_/1` 9 | Brief description and usage of the `String`'s `valid_/1` function. 10 | 11 | {{< figure src="images/functions/String/valid_-1.svg" >}} 12 | {{< figure src="images/functions/String/valid_-1.2.svg" >}} 13 | {{< figure src="images/functions/String/valid_-1.3.svg" >}} 14 | -------------------------------------------------------------------------------- /content/en/functions/Tuple/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Tuple 3 | url: /Tuple 4 | --- 5 | 6 | Tuples are intended as fixed-size containers for multiple elements. 7 | 8 | {{< figure src="images/functions/Tuple/Tuple.svg" >}} 9 | -------------------------------------------------------------------------------- /content/en/functions/Tuple/append-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: append/2 3 | url: Tuple/append/2 4 | --- 5 | 6 | 7 | Inserts an element at the end of a tuple. 8 | 9 | Returns a new tuple with the element appended at the end, and contains the elements in tuple followed by value as the last element. 10 | 11 | {{< figure src="images/functions/Tuple/append-2.svg" >}} 12 | -------------------------------------------------------------------------------- /content/en/functions/Tuple/delete_at-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: delete_at/2 3 | url: Tuple/delete_at/2 4 | --- 5 | 6 | 7 | Deletes the element at the given `index` from `tuple`. 8 | 9 | {{< figure src="images/functions/Tuple/delete_at-2.svg" >}} 10 | 11 | Raises `ArgumentError` if `index` is negative or greater than or equal to the length of tuple. 12 | `index` is zero-based. 13 | 14 | {{< figure src="images/functions/Tuple/delete_at-2.2.svg" >}} 15 | -------------------------------------------------------------------------------- /content/en/functions/Tuple/duplicate-2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: duplicate/2 3 | url: Tuple/duplicate/2 4 | --- 5 | 6 | 7 | Creates a new tuple of `size` elements each of them being equal to `value`. 8 | 9 | {{< figure src="images/functions/Tuple/duplicate-2.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Tuple/insert_at-3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: insert_at/3 3 | url: Tuple/insert_at/3 4 | --- 5 | Inserts an element into a tuple. 6 | 7 | Inserts `value` into tuple at the given `index`. Raises an `ArgumentError` if `index` is negative or greater than the length of `tuple`. Index is zero-based. 8 | 9 | {{< figure src="images/functions/Tuple/insert_at-3.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/Tuple/product-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: product/1 3 | url: Tuple/product/1 4 | --- 5 | 6 | Returns the product of all elements of `tuple`. 7 | 8 | {{< figure src="images/functions/Tuple/product-1.svg" >}} 9 | 10 | Returns 1 if `tuple` has no elements. 11 | 12 | {{< figure src="images/functions/Tuple/product-1.2.svg" >}} 13 | 14 | Raises `ArithmeticError` if enumerable contains a non-numeric value. 15 | 16 | -------------------------------------------------------------------------------- /content/en/functions/Tuple/sum-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: sum/1 3 | url: Tuple/sum/1 4 | --- 5 | 6 | Returns the sum of all elements of `tuple`. 7 | 8 | {{< figure src="images/functions/Tuple/sum-1.svg" >}} 9 | 10 | Returns 0 if `tuple` has no elements. 11 | 12 | {{< figure src="images/functions/Tuple/sum-1.2.svg" >}} 13 | 14 | Raises `ArithmeticError` if enumerable contains a non-numeric value. 15 | 16 | -------------------------------------------------------------------------------- /content/en/functions/Tuple/to_list-1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: to_list/1 3 | url: Tuple/to_list/1 4 | --- 5 | 6 | 7 | Converts a `tuple` to a list. 8 | 9 | {{< figure src="images/functions/Tuple/to_list-1.svg" >}} 10 | -------------------------------------------------------------------------------- /content/en/functions/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | -------------------------------------------------------------------------------- /data/contributors.yaml: -------------------------------------------------------------------------------- 1 | - name: Alfonso Ruzafa 2 | github_username: superruzafa 3 | contributions: 4 | - Initial idea 5 | - Diagrams design 6 | -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | make 4 | hugo --gc --minify 5 | -------------------------------------------------------------------------------- /i18n/en.toml: -------------------------------------------------------------------------------- 1 | [home_description] 2 | other = "Graphical representation of Elixir functions." 3 | 4 | [home_keywords] 5 | other = "elixir functions, elixir explained easy, learn elixir, functional programming, elixir visual, elixir graphical" 6 | 7 | [function_description] 8 | other = "Elixir {{ .Parent.Title }}.{{ .Title }} function. Graphical representation of the Elixir's {{ .Parent.Title }}.{{ .Title }} function" 9 | 10 | [function_keywords] 11 | other = "{{ .Parent.Title }}.{{ .Title }} function, elixir {{ .Parent.Title }}.{{ .Title }} function" -------------------------------------------------------------------------------- /i18n/es.toml: -------------------------------------------------------------------------------- 1 | [home_description] 2 | other = "Representación gráfica de las funciones de Elixir." 3 | 4 | [home_keywords] 5 | other = "funciones de elixir, elixir explicado fácil, aprender elixir, programación funcional, elixir visual, elixir gráfico" 6 | 7 | [function_description] 8 | other = "Función {{ .Title }} de Elixir. Representación gráfica de la function {{ .Title }} de Elixir" 9 | 10 | [function_keywords] 11 | other = "función {{ .Title }}, función {{ .Title }} de elixir" 12 | -------------------------------------------------------------------------------- /i18n/ja.toml: -------------------------------------------------------------------------------- 1 | [home_description] 2 | other = "Elixir 関数の図解" 3 | 4 | [home_keywords] 5 | other = "elixir 関数, elixir をわかりやすく説明, elixir を学ぶ, 関数プログラミング, 視覚的 elixir, elixir 図解" 6 | 7 | [function_description] 8 | other = "Elixir {{ .Title }} 関数. Elixir の {{ .Title }} 関数の図解" 9 | 10 | [function_keywords] 11 | other = "{{ .Title }} 関数, elixir {{ .Title }} 関数" 12 | -------------------------------------------------------------------------------- /i18n/pt.toml: -------------------------------------------------------------------------------- 1 | [home_description] 2 | other = "Representação gráfica de funções Elixir." 3 | 4 | [home_keywords] 5 | other = "funções elixir, elixir fácil explicado, aprender elixir, programação funcional, visual elixir, gráfico elixir" 6 | 7 | [function_description] 8 | other = "Função {{ .Title }} de Elixir. Representação gráfica da função {{ .Title }} de Elixir" 9 | 10 | [function_keywords] 11 | other = "Função {{ .Title }}, Função {{ .Title }} de elixir" 12 | -------------------------------------------------------------------------------- /layouts/404.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |

Page not found!

3 |

Go back to the home page.

4 |
5 | 6 |
7 | {{ end }} -------------------------------------------------------------------------------- /layouts/partials/ga.html: -------------------------------------------------------------------------------- 1 | {{ if hugo.IsProduction }} 2 | 3 | 9 | {{ end }} 10 | -------------------------------------------------------------------------------- /layouts/partials/safe_function_url.html: -------------------------------------------------------------------------------- 1 | {{ $scratch := newScratch }} 2 | {{ $scratch.Set "url" .Permalink }} 3 | {{ $alias := index .Aliases 0 }} 4 | {{ if $alias }} 5 | {{ $url := replace $alias "?" "%3F" }} 6 | {{ $scratch.Set "url" (printf "%s%s" $.Site.BaseURL (strings.TrimLeft "/" $url)) }} 7 | {{ end }} 8 | {{ return $scratch.Get "url" }} 9 | -------------------------------------------------------------------------------- /layouts/partials/translations.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/shortcodes/figure.html: -------------------------------------------------------------------------------- 1 | {{ $src := .Get "src" }} 2 | 3 |
4 | 5 |
-------------------------------------------------------------------------------- /layouts/shortcodes/signature.html: -------------------------------------------------------------------------------- 1 | {{- $module_name := .Page.Parent.Title -}} 2 | {{- $function_name := .Page.Title -}} 3 | {{- range $.Site.Data.signatures -}} 4 | {{- if eq $module_name .name -}} 5 | {{- range .functions -}} 6 | {{- if eq $function_name .name -}} 7 |
8 | {{- highlight .signature "elixir" "" -}} 9 |
10 | {{- end -}} 11 | {{- end -}} 12 | {{- end -}} 13 | {{- end -}} 14 | -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | docker container run --rm --name=ver --platform=linux/amd64 -it -p 1313:1313 -v $PWD:/code -w /code local/visual-elixir-reference bash 4 | 5 | -------------------------------------------------------------------------------- /static/images/elixir-logo-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superruzafa/visual-elixir-reference/16562137479e8a98030d58563ee71c385f996769/static/images/elixir-logo-144x144.png -------------------------------------------------------------------------------- /static/images/elixir-logo-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superruzafa/visual-elixir-reference/16562137479e8a98030d58563ee71c385f996769/static/images/elixir-logo-16x16.png -------------------------------------------------------------------------------- /static/images/elixir-logo-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superruzafa/visual-elixir-reference/16562137479e8a98030d58563ee71c385f996769/static/images/elixir-logo-57x57.png -------------------------------------------------------------------------------- /static/images/elixir-logo-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superruzafa/visual-elixir-reference/16562137479e8a98030d58563ee71c385f996769/static/images/elixir-logo-72x72.png -------------------------------------------------------------------------------- /static/images/elixir-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superruzafa/visual-elixir-reference/16562137479e8a98030d58563ee71c385f996769/static/images/elixir-logo.png --------------------------------------------------------------------------------