An open API service indexing awesome lists of open source software.

https://github.com/evhub/coco-cs

Coconut documentation Czech translation by @Tovim
https://github.com/evhub/coco-cs

coconut czech functional language python

Last synced: 7 months ago
JSON representation

Coconut documentation Czech translation by @Tovim

Awesome Lists containing this project

README

          

Coconut
=======

.. toctree::
:maxdepth: 1

HELP
DOCS
FAQ

Coconut (`coconut-lang.org`__) je varianta jazyka `Python `_, která k syntaxi Pythonu **přidává** nové vlastnosti pro jednoduché a elegantní Pythonické **funkcionální programování**.

__ Coconut_
.. _Coconut: http://coconut-lang.org/

Coconut je vyvíjen na `GitHub `_ a hostován na `PyPI `_.

Instalace
---------

Instalace Coconut je stejně snadná jako otevření konzoly s promptem a zadání::

pip install coconut

načež máte celý svět Coconut u svých nohou.

Ukázky kódu
-----------

**Usměrnění programu** (pipeline-style programming):

.. code-block:: coconut

"hello, world!" |> print

**Pohlednější lambda**:

.. code-block:: coconut

(x) -> x ** 2

**Částečná aplikace** (partial application):

.. code-block:: coconut

range(10) |> map$((x) -> x ** 2) |> list

**Porovnání předlohy** (pattern-matching):

.. code-block:: coconut

match [head] + tail in [0, 1, 2, 3]:
print(head, tail)

**Rozložené přiřazení** (destructuring assignment):

.. code-block:: coconut

{"list": [0] + rest} = {"list": [0, 1, 2, 3]}

**Infixová notace**:

.. code-block:: coconut

5 `mod` 3 == 2

**Operátorové funkce**:

.. code-block:: coconut

range(15) |> map$((*)$(2)) |> list

**Kompozice funkcí**:

.. code-block:: coconut

(f .. g .. h)(x, y, z)

**Líné seznamy**:

.. code-block:: coconut

(| first_elem() |) :: rest_elems()

**Paralelní programování**:

.. code-block:: coconut

range(100) |> parallel_map$((**)$(2)) |> list

**Optimalizace koncové rekurze**:

.. code-block:: coconut

def factorial(n, acc=1):
case n:
match 0:
return acc
match _ is int if n > 0:
return factorial(n-1, acc*n)
else:
raise TypeError("the argument to factorial must be an integer >= 0")

**Algebraické datové typy**:

.. code-block:: coconut

data Empty()
data Leaf(n)
data Node(l, r)

def size(Empty()) = 0

@addpattern(size)
def size(Leaf(n)) = 1

@addpattern(size)
def size(Node(l, r)) = size(l) + size(r)

size(Node(Empty(), Leaf(10))) == 1

Užitečné odkazy
---------------

Podporu pro své první kroky v prostředí Coconut naleznete na těchto odkazech:

* `Coconut `_
* `Tutoriál `_: Dobrým výchozím bodem pro začátečníka v Coconut je jeho tutorial s případovými studiemi.
* `Dokumentace `_: Hledáte-li informaci o konkretní entitě, zkuste referenční dokumentaci jazyka Coconut.
* `FAQ `_: Chcete-li se zeptat, pro koho je Coconut určen a zda byste jej měl používat, navštivte Frequently Asked Questions .
* `Create a New Issue `_: If you're having a problem with Coconut, creating a new issue detailing the problem will allow it to be addressed as soon as possible.
* `Gitter `_: For any questions, concerns, or comments about anything Coconut-related, ask around at Coconut's Gitter, a GitHub-integrated chat room for Coconut developers.

Poznámka: Pokud výše uvedené linky nechodí, zkuste `mirror `_.