Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Překlad je opakem originálu #5

Open
xReav3r opened this issue Mar 4, 2022 · 0 comments
Open

Překlad je opakem originálu #5

xReav3r opened this issue Mar 4, 2022 · 0 comments

Comments

@xReav3r
Copy link

xReav3r commented Mar 4, 2022

Když si přečteme typovou deklaraci, můžeme říct, že vezme funkci, která požaduje nějaké <span class="fixed">a</span> a nějaké <span class="fixed">b</span> a vrátí funkci, která požaduje nějaké <span class="fixed">b</span> a nějaké <span class="fixed">a</span>. Druhý pár závorek je opravdu nezbytný, protože funkce jsou implicitně curryfikované a protože je šipka <span class="fixed">-&gt;</span> asociativní zprava. Typ <span class="fixed">(a -&gt; b -&gt; c) -&gt; (b -&gt; a -&gt; c)</span> je stejný jako <span class="fixed">(a -&gt; b -&gt; c) -&gt; (b -&gt; (a -&gt; c))</span>, což je totéž co <span class="fixed">(a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c</span>. Napsali jsme, že <span class="fixed">g x y = f y x</span>. Pokud to je pravda, pak také platí, že <span class="fixed">f y x = g x y</span>, ne? Budeme-li to mít na paměti, můžeme funkci definovat dokonce ještě jednodušeji.

"Druhý pár závorek je opravdu nezbytný"
"the second pair of parentheses is really unnecessary"

I z kontextu je jasné, že závorky nejsou nezbytné.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant