Jello
A Python script for wrapping Jellyfish (a fork of Jelly) so you can more easily play with the language.
Install / Use
/learn @codereport/JelloREADME
<p align="center">🟢🟡🔴 Jello 🔴🟡🟢</p>
<p align="center"> <a href="https://github.com/codereport/jello/issues" alt="contributions welcome"> <img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" /></a> <a href="https://lbesson.mit-license.org/" alt="MIT license"> <img src="https://img.shields.io/badge/License-MIT-blue.svg" /></a> <a href="https://www.python.org/"> <img src="https://img.shields.io/badge/Python-3-ff69b4.svg"/></a> <a href="https://github.com/codereport?tab=followers" alt="GitHub followers"> <img src="https://img.shields.io/github/followers/codereport.svg?style=social&label=Follow" /></a> <a href="https://GitHub.com/codereport/jello/stargazers/" alt="GitHub stars"> <img src="https://img.shields.io/github/stars/codereport/jello.svg?style=social&label=Star" /></a> <a href="https://twitter.com/code_report" alt="Twitter"> <img src="https://img.shields.io/twitter/follow/code_report.svg?style=social&label=@code_report" /></a> </p>Description
A Python script for wrapping the Jellyfish (a fork of Jelly) executable so you can more easily play with the language.
Links
Jelly(fish) Links
Livestreams
- Jello LiveStream I
- Jello LiveStream II
- Jello LiveStream III
- Jello LiveStream IV (Top 10)
- Jello LiveStream V (PWC)
- Jello LiveStream VI (
bits,keep,cuts.md,--find-by-example) - Jello LiveStream VII (
maxs,cuts, Combinators i.e.Φ.₂)
YouTube Videos
Chain Patterns
Special Chain Names
- LCC: Leading Constant Chain
- LDC: Leading Dyadic Chain (described in the first bullet here)
- JL: Just use Left Arg (as
v)
Monadic Chains
Q: What makes my chain monadic? <br>
A: If you only pass it one argument (aka ω)
| | Chain pattern | New v value | Chain Type | Name | IC | SC |
| :---: | :-----------: | :-----------: | :--------: | :----------: | :---: | :---: |
| 1 | + F ... | v+F(ω) | 2-1 | dyad-monad | S | Φ |
| 2 | + 1 ... | v+1 | 2-0 | dyad–nilad | d | Δ |
| 3 | 1 + ... | 1+v | 0-2 | nilad-dyad | d | D |
| 4 | + ... | v+ω | 2 | dyad | W | Σ |
| 5 | F ... | F(v) | 1 | monad | m | B |
- IC = Initial Combinator
- SC = Subsequent Combinator
- m = Monadic function application
- d = Dyadic function application
Dyadic Chains
Q: What makes my chain dyadic? <br>
A: If you pass it two arguments (aka λ and ρ)
| | Chain pattern | New v value | Chain Type | Name | IC | SC |
| :---: | :-----------: | :-----------: | :--------: | :---------------: | :---: | :---: |
| 1 | + × 1 ... | (v+ρ)×1* | 2-2-0 | dyad-dyad-nilad | | |
| 2 | + × ... | v+(λ×ρ) | 2-2 | dyad-dyad | Φ₁ | Φ₁ |
| 3 | + 1 ... | v+1 | 2-0 | dyad-nilad | Kd | ε |
| 4 | 1 + ... | 1+v | 0-2 | nilad-dyad | πd | E |
| 5 | + ... | v+ρ | 2 | dyad | d | ε' |
| 6 | F ... | F(v) | 1 | monad | Km | B₁ |
Combinator Table (WIP)
| Combinator | Chain Spelling |
| :--------: | :------------: |
| S | 2-1 monadic |
| B₁ | 2-1 dyadic |
| E |
| ε |
Examples
Example 1 (from Section 1)
+H can be called monadically or dyadically, and is a 2-1 chain.
- If called monadically, its a
2-1monadic train, aka theScombinator. - If called dyadically, it is a
JL+5+6, which ends up being theB₁combinator.
Example 2 (from Section 4.2)
+²× can be called monadically or dyadically, and it is a 2-1-2 chain.
- If called monadically,
Sforms a monadic function, that is then used inΣ - If called dyadically, the
2-1is theB₁combinator, and then used in aΦ₁where the left dyadic function is⊢.
Example 3 (from Section 4.3)
+×÷H can be called monadically and dyadically, and it is a 2-2-2-1 chain.
- If called monadically, apply
Wis applied, then evalaate the2-2part as repeated (or 2)Scombinators, and then the2-1chain at the end matches theScombinator. - If called dyadically, we have a LDC, which means the
2-2-2forms theΦ₁which yield a binary function that is then used in the sits inside aB₁along with the final monadic operation.
