User:Yayimhere/Cleverxia Collab

From Esolang
Jump to navigation Jump to search

This is the collab between User:Cleverxia and User:Yayimhere.

Idk, do you have any ideas Cleverxia? Perhaps something based on N-Type?

isn't N-type just a variant of Haskell? also, I'm not familiar to functional languages.
Idk, I dont know Haskell lol. But is it really functional??
"Functional paradigm languages often include the syntactic traditions of combinatory logic and lambda calculus, and have a single syntax for all definitinos". Haskell satisfies all properties above
I mean N-Type.

(but if you really wants something in the functional paradigm, you can do eg. something on a tape of functions)

Sure.
Combinator Definition Bird name Rank Notes
B S(KS)K Bluebird 3 applicative, linear
B[1] BBB Blackbird linear
B[2] B(BBB)B Bunting linear
B[3] B(BB)B Becard linear
C S(BBS)(KK) or
S(S(KS)(S(KK)S))(KK)
Cardinal 3 applicative, linear
D BB Dove linear
D[1] B(BB) Dickcissel linear
D[2] BB(BB) Dovekie linear
E B(BBB) Eagle linear
Ê B(BBB)(B(BBB)) Bald eagle linear
F ETTET Finch linear
G BBC Goldfinch 4 applicative, linear
H BW(BC) Hummingbird
I SKK Identity bird 1 linear
J B(BC)(W(BC(B(BBB)))) Jay bird 4 applicative, duplicative
K K x y = x Kestrel 2 cancellative
L CBM or
S(S(KS)K)(K(SII))
Lark 2 applicative, duplicative
M OI or
SII
Mockingbird 1 applicative, duplicative
M[2] BM Double mockingbird
O SI Owl 2 applicative, duplicative
Q CB or
S(K(S(S(KS)K)))K
Queer bird 3 applicative, linear
Q[1] BCB Quixotic bird linear
Q[2] C(BCB) Quizzical bird linear
Q[3] BT Quirky bird linear
Q[4] F*B Quacky bird linear
R BBT or
S(K(SS))(S(KK)K)
Robin 3 applicative, linear
S S x y z = x z (y z) Starling 3 applicative, duplicative
T CI or
S(K(SI))K
Thrush 2 applicative, linear
U LO Turing bird
V BCT or
S(S(KS)(S(KK)(S(KS)(S(K(SI))K))))(KK)
Vireo 3 applicative, linear
W SS(SK) or
SS(KI)
Warbler 2 applicative, duplicative
W[1] CW Converse warbler
Y SLL or
SSK(S(K(SS(S(SSK))))K)
Sage bird 1 duplicative
I* S(SK) Identity bird once removed
W* BW Warbler once removed
C* BC Cardinal once removed linear
R* C*C* Robin once removed linear
F* BC*R* Finch once removed linear
V* C*F* Vireo once removed linear
W** B(BW) Warbler twice removed
C** BC* Cardinal twice removed linear
R** BR* Robin twice removed linear
F** BF* Finch twice removed linear
V** BV* Vireo twice removed linear
θ YO Theta (Bird?) [unsourced]
ϕ ϕ x y z w = x (y w) (z w); Phoenix 4 applicative, duplicative
Ψ Ψ x y z w = x (y z) (y w); Psi bird 4 applicative, duplicative
ω MM Omega bird [unsourced]
ι S(SI(KS))(KK) Iota (not a bird) 1 linear

So for example we starts a infinite tape with the identity function and do something like each command applies something to it.

Wbu a brainfuck-y language, but where the only conditional is translating the numbers into functions. somehow

Maybe something like

  • B try to beta-reduce cell
  • [...] loops when cell is *exactly* the identity function
Hmmm, sure. Then I think we leave each cell starting as I, and then + and - could be designed specifically to be something where - is very beta reducible, and + *isn't*.
  • something like -=some combinator, + wraps current cell in some very complex function and you need a specific function to apply on it to turn it into a simple form, maybe
+ could be - in Utral, and - could be ().
we may just use - for the very complex combinator, and use + for () (or just K or simply beta-reduction).
Using - as () makes more sense because it gets it "closer" to being the identity. + being beta reduction is boring IMO.
I think + should be duplicative. Maybe Ψ?
I personally think Ψ is not as good as ϕ in +'s.
Then we'll use ϕ!

anyway, anything for looping constructs or I/O?

Looping works with the idea you gave. I/O could use church numerals, printing the normal expression as is if it *isnt* a church numeral.
Caption text
command meaning Header text
+ apply the ϕ combinator to cell Example
- () in Utral Example
> same as in [[bf] Example
< same as in [[bf] Example
[...] Loop while current cell isn't exactly the identity function Example
. print current cell as church numeral, as an expression if not a church numeral Example
, read a character as a church numeral, unchange on EOF Example
? ? Example
β Beta reduce current cell Example
? ? Example
? ? Example
Though, two things:
  • "A" is kinda boring because you can basically just try to do normal lambda calculus.
  • maybe [] should loop when not the identity
Fixed.
Thanks. I think this is complete!
Perhaps for a name we could name it phifunc (from ϕ and function, as a parody of brainfuck)
Done. You can delete the page now
Cool. and cool name. I think im gonna keep this page around tho.