We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Talk:Single Arg

From Esolang
Jump to navigation Jump to search

why did you make this? what did you want to achieve or what was its initial concept? --Yayimhere2(school) (talk) 07:14, 24 July 2026 (UTC)

In the functional programming paradigm, there are several ways to represent functions. The three most prominent ways are named identifiers, de Bruijn indices, and combinators. Named identifiers are difficult to work with because of alpha conversion and keeping track of free and bound variables. De Bruijn indices are difficult because of variable lifting. Combinatory calculus is difficult because terms tend to be unreadable due to the lack of named arguments. In Single Arg we have a nice balance: we allow arguments, but each function (represented using curly braces) can have exactly one argument (represented as the dot character). Multiple arguments can be paired together using +, and the first and second elements of a pair can be accessed using < and >. If we really want a curried function, we can use - to turn a function that operates on a pair into a function that takes two arguments, one after another. We created Single Arg as a test for our new interactive theorem prover that we are developing, which is based on primitive recursive functions. (On a personal note, we apologize for not providing feedback on your esolang Amber. We should have at least acknowledged it. If you're still interested in feedback, feel free to reach out, no pressure either way) --Hakerh400 (talk) 09:04, 24 July 2026 (UTC)
Response to personal note: Its totally fine, I understand that many factors could have played in. I'd love to get the feedback if you still want to give it, but fine otherwise. Note to rest: nice! that makes sense, cool concept. I love the language:) --Yayimhere2(school) (talk) 09:39, 24 July 2026 (UTC)