en.osm.town is one of the many independent Mastodon servers you can use to participate in the fediverse.
An independent, community of OpenStreetMap people on the Fediverse/Mastodon. Funding graciously provided by the OpenStreetMap Foundation.

Server stats:

269
active users

#LambdaCalculus

1 post1 participant0 posts today
Artyom Bologov<p>Lamber, my <a href="https://merveilles.town/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> -&gt; Lisp compiler (<a href="https://github.com/aartaka/lamber" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/aartaka/lamber</span><span class="invisible"></span></a>) didn't handle big enough numbers (&gt; 10-bit,) so I decided to implement some optimizations, reusing underlying <a href="https://merveilles.town/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>CommonLisp</span></a> compiler to speed up and save space on numerics. It's not particularly reliable, because big LC numbers consume too much of the stack, but at least it's better than it used to be, almost reliably handling 12-bit numbers.</p>
(mapcar #'emacsomancer objs)<p><a href="https://babbagefiles.xyz/c-conjecturing-and-practical-considerations-of-recursion-in-emacs/" rel="nofollow noopener noreferrer" target="_blank">C-c-c-conjecturing, and dealing with recursion in Emacs (more excursus)</a></p><p>Another blog post, this one not tagged as part of the <a href="https://babbagefiles.xyz/categories/lambdacalculus/" rel="nofollow noopener noreferrer" target="_blank">lambda-calculus series</a> because it doesn't directly deal with lambda-calculus, but it follows on from <a href="https://babbagefiles.xyz/lambda-calculus-and-lisp-02-recursion/" rel="nofollow noopener noreferrer" target="_blank">Part 2</a>, dealing with issues of recursion, and building up towards the <a href="https://types.pl/tags/YCombinator" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>YCombinator</span></a> and other <a href="https://types.pl/tags/lambdacalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lambdacalculus</span></a> issues.</p><p>Some fun things evaluating the efficiency of implementing different functions in <a href="https://types.pl/tags/Elisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Elisp</span></a> (with metrics!), and some fun images/visualisations of an interesting function.</p>
Artyom Bologov<p>In the spirit of (not-that-radical, unfortunately) openness (inspired by none other than <span class="h-card" translate="no"><a href="https://mas.to/@TodePond" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>TodePond</span></a></span>,) let me share a thing I've been quietly working on for the last couple of months: <a href="https://merveilles.town/tags/Lamber" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lamber</span></a>, my pure <a href="https://merveilles.town/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> -compiling <a href="https://merveilles.town/tags/FunctionalProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FunctionalProgramming</span></a> language inspired by <a href="https://merveilles.town/tags/Lua" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lua</span></a> and <a href="https://merveilles.town/tags/haskell" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>haskell</span></a> </p><p><a href="https://github.com/aartaka/lamber" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/aartaka/lamber</span><span class="invisible"></span></a></p><p><a href="https://merveilles.town/tags/theWorkshop" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>theWorkshop</span></a></p>
José A. Alonso<p>Readings shared February 22, 2025. <a href="https://jaalonso.github.io/vestigium/posts/2025/02/22-readings_shared_02-22-25" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">jaalonso.github.io/vestigium/p</span><span class="invisible">osts/2025/02/22-readings_shared_02-22-25</span></a> <a href="https://mathstodon.xyz/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> <a href="https://mathstodon.xyz/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a> <a href="https://mathstodon.xyz/tags/Emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Emacs</span></a></p>
José A. Alonso<p>Lambda calculus and Lisp, part 2. <a href="https://babbagefiles.xyz/lambda-calculus-and-lisp-02-recursion/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">babbagefiles.xyz/lambda-calcul</span><span class="invisible">us-and-lisp-02-recursion/</span></a> <a href="https://mathstodon.xyz/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> <a href="https://mathstodon.xyz/tags/Emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Emacs</span></a> <a href="https://mathstodon.xyz/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a></p>
José A. Alonso<p>Lambda calculus and Lisp, part 1. <a href="https://babbagefiles.xyz/lambda-calculus-and-lisp-01/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">babbagefiles.xyz/lambda-calcul</span><span class="invisible">us-and-lisp-01/</span></a> <a href="https://mathstodon.xyz/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> <a href="https://mathstodon.xyz/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a></p>
(mapcar #'emacsomancer objs)<p>The first of a planned series of posts on <a href="https://types.pl/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a> and <a href="https://types.pl/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> and their connections:</p><p><a href="https://babbagefiles.xyz/lambda-calculus-and-lisp-01/" rel="nofollow noopener noreferrer" target="_blank">Lambda Calculus and Lisp, part 1</a></p><p>"Did John McCarthy understand lambda calculus?"</p>
Artyom Bologov<p><a href="https://merveilles.town/tags/TIL" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TIL</span></a> that there's a <a href="https://merveilles.town/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> based language called brujin (for obvious reasons) and that it's absolutely unreadable! The standard library and the amount of work that went into it is extremely impressive though, so go give it a read:</p><p><a href="https://bruijn.marvinborner.de/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">bruijn.marvinborner.de/</span><span class="invisible"></span></a></p><p>and show some love to Marvin Borner, the creator of brujin!</p><p>I'm stealing parts of it (like Maybe monad) into <a href="https://merveilles.town/tags/Lamber" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lamber</span></a>, my own applicative <a href="https://merveilles.town/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> compiling <a href="https://merveilles.town/tags/Lua" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lua</span></a> like language.</p><p><a href="https://merveilles.town/tags/theWorkshop" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>theWorkshop</span></a> <a href="https://merveilles.town/tags/theLibrary" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>theLibrary</span></a></p>
Artyom Bologov<p>The asymmetry between "take" and "drop" <a href="https://merveilles.town/tags/functionalProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>functionalProgramming</span></a> operations on lists is weird. "drop" is just applying "cdr" N times, which is just a couple of function calls in <a href="https://merveilles.town/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a>. While "take" requires full-blown <a href="https://merveilles.town/tags/recursion" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>recursion</span></a> and conditional testing. Or am I doing it wrong?</p>
Space Hobo<p><a href="https://www.youtube.com/watch?v=6BnVo7EHO_8" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=6BnVo7EHO_</span><span class="invisible">8</span></a> ← This remains my favourite survey of the <a href="https://teh.entar.net/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> for new people. Just an amazing talk (even if it does have a JS perspective).</p>
Paolo Amoroso<p>An introductory blog series on Lambda calculus between entry and intermediate level. Artyom Bologov <span class="h-card" translate="no"><a href="https://merveilles.town/@aartaka" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>aartaka</span></a></span> wrote it after hitting some major learning roadblocks:</p><p>"I opened Wikipedia, read through half the page and gave up. It was too terse."</p><p><a href="https://aartaka.me/lambda-0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">aartaka.me/lambda-0</span><span class="invisible"></span></a></p><p><a href="https://aartaka.me/lambda-1" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">aartaka.me/lambda-1</span><span class="invisible"></span></a></p><p><a href="https://aartaka.me/lambda-2" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">aartaka.me/lambda-2</span><span class="invisible"></span></a></p><p><a href="https://aartaka.me/lambda-3" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">aartaka.me/lambda-3</span><span class="invisible"></span></a></p><p><a href="https://fosstodon.org/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> <a href="https://fosstodon.org/tags/lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lisp</span></a></p>
Markus Redeker<p>There are two ways to view a computer program. The first one is the execution-oriented view, in which a program is a sequence of steps that are executed by a computer. The second is the problem-oriented view, where a program solves a problem by a combination of executing elementary steps and calling subprograms that solve subproblems.</p><p>The earliest model for the execution-oriented view is the Turing machine, and that for the problem-oriented view is the lambda calculus.</p><p>This explains why execution-oriented questions like computational complexity are described and solved in terms of Turing machines, while all programming languages that are used in the real world have the function-calling structure of the lambda calculus.</p><p><a href="https://mathstodon.xyz/tags/Computation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Computation</span></a> <a href="https://mathstodon.xyz/tags/TuringMachine" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TuringMachine</span></a> <a href="https://mathstodon.xyz/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> <a href="https://mathstodon.xyz/tags/ProgrammingLanguages" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ProgrammingLanguages</span></a></p>
HoldMyType<p>Alonzo Church's mathematical notation, the lambda calculus, has inspired Lisp's use of "lambda" as a keyword for introducing a procedure, as well as influencing the development of functional programming techniques involving the use of higher-order functions in <a href="https://mathstodon.xyz/tags/Lisp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Lisp</span></a>. But early Lisps were not suitable expressions of the lambda calculus because of their treatment of free variables.<br>The introduction of lexical scope resolved the problem by making an equivalence between some forms of lambda notation and their practical expression in a working programming language. Sussman and Steele showed that the new language could be used to elegantly derive all the imperative and declarative semantics of other programming languages including ALGOL and Fortran, and the dynamic scope of other Lisps, by using lambda expressions not as simple procedure instantiations but as "control structures and environment modifiers." They introduced continuation-passing style along with their first description of Scheme in the first of the Lambda Papers, and in subsequent papers they proceeded to demonstrate the raw power of this practical use of <a href="https://mathstodon.xyz/tags/lambdacalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lambdacalculus</span></a><br><a href="https://mathstodon.xyz/tags/wiki" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>wiki</span></a> talk</p>
Kellerman Raynberg<p>Turnstyle is a graphical esoteric programming language based on lambda calculus</p><p><a href="https://jaspervdj.be/turnstyle/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">jaspervdj.be/turnstyle/</span><span class="invisible"></span></a></p><p><a href="https://functional.cafe/tags/piet" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>piet</span></a> <a href="https://functional.cafe/tags/lambdacalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lambdacalculus</span></a></p>
vascorsd<p>Programming with Math | The Lambda Calculus</p><p><a href="https://www.youtube.com/watch?v=ViPNHMSUcog" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=ViPNHMSUco</span><span class="invisible">g</span></a></p><p><a href="https://mastodon.social/tags/fp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fp</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/lambdacalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lambdacalculus</span></a></p>
lj·rk<p>Writing complex <a href="https://todon.eu/tags/XPath" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>XPath</span></a> expressions to emulate if-then-else using substrings, lists and indexing using boolean conditions... feels like <a href="https://todon.eu/tags/LambdaCalculus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LambdaCalculus</span></a> but a lot worse :'D</p>