veganism.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Veganism Social is a welcoming space on the internet for vegans to connect and engage with the broader decentralized social media community.

Administered by:

Server stats:

260
active users

#racketlang

1 post1 participant0 posts today
Racket<p>If you have an idea for a presentation you’d like to give at RacketCon 2025, please write to the RacketCon organizers for consideration. All Racket-y ideas are welcome. We’d love to have you!<br><a href="https://con.racket-lang.org/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">con.racket-lang.org/</span><span class="invisible"></span></a><br><a href="https://functional.cafe/tags/RacketLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RacketLang</span></a> <a href="https://functional.cafe/tags/RacketLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RacketLisp</span></a></p>
José A. Alonso<p>Readings shared April 15, 2025. <a href="https://jaalonso.github.io/vestigium/posts/2025/04/15-readings_shared_04-15-25" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">jaalonso.github.io/vestigium/p</span><span class="invisible">osts/2025/04/15-readings_shared_04-15-25</span></a> <a href="https://mathstodon.xyz/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a> <a href="https://mathstodon.xyz/tags/Emacs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Emacs</span></a> <a href="https://mathstodon.xyz/tags/FunctionalProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FunctionalProgramming</span></a> <a href="https://mathstodon.xyz/tags/Haskell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Haskell</span></a> <a href="https://mathstodon.xyz/tags/ITP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ITP</span></a> <a href="https://mathstodon.xyz/tags/IsabelleHOL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IsabelleHOL</span></a> <a href="https://mathstodon.xyz/tags/LLMs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LLMs</span></a> <a href="https://mathstodon.xyz/tags/LeanProver" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LeanProver</span></a> <a href="https://mathstodon.xyz/tags/Lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Lisp</span></a> <a href="https://mathstodon.xyz/tags/Math" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Math</span></a> <a href="https://mathstodon.xyz/tags/Programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programming</span></a> <a href="https://mathstodon.xyz/tags/RacketLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RacketLang</span></a></p>
José A. Alonso<p>Decomposing factorial of 300K as the product of 300K factors larger than 100K. ~ Gustavo. <a href="https://gus-massa.blogspot.com/2025/04/decomposing-factorial-of-300k-as.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">gus-massa.blogspot.com/2025/04</span><span class="invisible">/decomposing-factorial-of-300k-as.html</span></a> <a href="https://mathstodon.xyz/tags/Programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programming</span></a> <a href="https://mathstodon.xyz/tags/RacketLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RacketLang</span></a> <a href="https://mathstodon.xyz/tags/FunctionalProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FunctionalProgramming</span></a> <a href="https://mathstodon.xyz/tags/Math" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Math</span></a></p>
Annie<p>There are some issues with it(it shoudl ignore newlines, and it should run the hello world from wikipedia, but it doesn't do either) but here's my <a href="https://easymode.im/tags/brainfuck" rel="nofollow noopener" target="_blank">#brainfuck</a> interpreter written in <a href="https://easymode.im/tags/racketlang" rel="nofollow noopener" target="_blank">#racketlang</a> . I do provide a link to a hello world it does run, showing it's not <i>completely</i><span> wrong.<br><br></span><a href="https://github.com/annieworroll/brainfuck" rel="nofollow noopener" target="_blank">https://github.com/annieworroll/brainfuck</a></p>
Ramin Honary<blockquote><p>Are you a Lisper? If yes, What made <a class="hashtag" href="https://fe.disroot.org/tag/lisp" rel="nofollow noopener" target="_blank">#lisp</a> special in your view? </p></blockquote><p><span class="h-card"><a class="u-url mention" href="https://mastodon.social/@lxsameer" rel="nofollow noopener" target="_blank">@<span>lxsameer</span></a></span> a few things:</p><ul><li><strong>absolute minimum amount of syntax,</strong> makes it very easy to understand how the computer sees each part of the program, makes it easy to implement your own parser if you want to.</li><li><strong>the ability to define your own evaluator for Lisp syntax,</strong> also made considerably easier than other languages due to the minimal syntax. This also makes it easy to develop your own tooling, or to modify existing tooling for the language, which brings me to the next point…</li><li><strong>macro programming:</strong> the ability to hack the Lisp compiler itself so that it can run your own evaluator. This allows you to introduce language features when and where you need them, like linting, type checking, literate programming, alternative evaluation strategies (e.g. lazy evaluation, or concurrent evaluation), etc.</li><li><strong>functional programming:</strong> it is based on the mathematics of lambda calculus, which is a very elegant way of defining algorithms and computation. It is also a computer for the “<em>untyped lambda calculus</em>“ which can implement any other typed lambda calculus as a system of macros.</li><li><strong>homoiconicity,</strong> again a feature of the minimal syntax, allows you to express programs as data, and data as programs. This is very useful for serialization and transport across multiple computers.</li><li><strong>REPL-based development,</strong> which is a feature many languages have nowadays (although Lisp invented this feature), allows for rapid prototyping and easier debugging.</li><li><strong>stability:</strong> Lisp languages like Common Lisp and Scheme have changed very little throughout the decades as there is no need to change them. Macro programming makes it so that you don’t need too add new language features all the time, language features become extensions you can import into your project.</li></ul><p><a class="hashtag" href="https://fe.disroot.org/tag/tech" rel="nofollow noopener" target="_blank">#tech</a> <a class="hashtag" href="https://fe.disroot.org/tag/software" rel="nofollow noopener" target="_blank">#software</a> <a class="hashtag" href="https://fe.disroot.org/tag/computerprogramming" rel="nofollow noopener" target="_blank">#ComputerProgramming</a> <a class="hashtag" href="https://fe.disroot.org/tag/lisp" rel="nofollow noopener" target="_blank">#Lisp</a> <a class="hashtag" href="https://fe.disroot.org/tag/commonlisp" rel="nofollow noopener" target="_blank">#CommonLisp</a> <a class="hashtag" href="https://fe.disroot.org/tag/schemelang" rel="nofollow noopener" target="_blank">#SchemeLang</a> <a class="hashtag" href="https://fe.disroot.org/tag/scheme" rel="nofollow noopener" target="_blank">#Scheme</a> <a class="hashtag" href="https://fe.disroot.org/tag/clojure" rel="nofollow noopener" target="_blank">#Clojure</a> <a class="hashtag" href="https://fe.disroot.org/tag/fennellang" rel="nofollow noopener" target="_blank">#FennelLang</a> <a class="hashtag" href="https://fe.disroot.org/tag/gerbillang" rel="nofollow noopener" target="_blank">#GerbilLang</a> <a class="hashtag" href="https://fe.disroot.org/tag/racketlang" rel="nofollow noopener" target="_blank">#RacketLang</a></p>
Ramin Honary<blockquote><p>My 8 year old son has fallen in love with this old laptop that honestly isn’t useful for that much as the speed and wifi is so slow.</p><p>But he says he wants to learn how to code on it. </p></blockquote><p><span class="h-card"><a class="u-url mention" href="https://fosstodon.org/@codemonkeymike" rel="nofollow noopener" target="_blank">@<span>codemonkeymike</span></a></span> yes, I would recommend learning Racket. The <a href="https://racket-lang.org/%20" rel="nofollow noopener" target="_blank">Racket language</a> is relatively lightweight compared to modern app development frameworks such as VSCode so runs nice and fast on older hardware, and it is designed specifically for teaching coding. There are some nice books aimed at kids for teaching Racket as well:</p><ul><li><a href="https://www.realmofracket.com/" rel="nofollow noopener" target="_blank">https://www.realmofracket.com/</a></li></ul><p>It is about as easy as learning BASIC was when I was a kid.</p><p><a class="hashtag" href="https://fe.disroot.org/tag/tech" rel="nofollow noopener" target="_blank">#tech</a> <a class="hashtag" href="https://fe.disroot.org/tag/software" rel="nofollow noopener" target="_blank">#software</a> <a class="hashtag" href="https://fe.disroot.org/tag/lisp" rel="nofollow noopener" target="_blank">#Lisp</a> <a class="hashtag" href="https://fe.disroot.org/tag/racketlang" rel="nofollow noopener" target="_blank">#RacketLang</a> <a class="hashtag" href="https://fe.disroot.org/tag/learncoding" rel="nofollow noopener" target="_blank">#LearnCoding</a> <a class="hashtag" href="https://fe.disroot.org/tag/learntocode" rel="nofollow noopener" target="_blank">#LearnToCode</a> <a class="hashtag" href="https://fe.disroot.org/tag/qbasic" rel="nofollow noopener" target="_blank">#QBASIC</a></p>
jbz<p>"While the new curriculum begins in Pyret, which is similarly designed for teaching purposes, it will quickly transition to Python in the first course. Python does not have anything similar — students must be taught complex features upfront, before they learn the design skills to cleanly and effectively use those features."</p><p><a href="https://indieweb.social/tags/racketlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>racketlang</span></a> <a href="https://indieweb.social/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://indieweb.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a></p>
jbz<p>"The new courses will primarily teach Python, and the college claims it is an added bonus that Python “is currently the most requested language by co-op employers.” But we should not teach a language simply because it is currently popular in industry — we must choose a language with real pedagogical merit. Racket was chosen because it has “teaching languages” that can gradually introduce features as students are taught the relevant design principles."</p><p><a href="https://indieweb.social/tags/racketlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>racketlang</span></a> <a href="https://indieweb.social/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://indieweb.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a></p>
jbz<p>"The college’s proposed overhaul will phase out Fundies 1, Fundies 2, and Object-Oriented Design, replacing them with entirely new courses"</p><p><a href="https://indieweb.social/tags/racketlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>racketlang</span></a> <a href="https://indieweb.social/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://indieweb.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a></p>
jbz<p>"I have often heard computer science students complain that Fundies 1 teaches Racket instead of a “useful language” like Python. But the point of Fundies is not to teach Racket — it is to teach program design skills that can be applied using any programming language."</p><p><a href="https://huntnewsnu.com/82511/editorial/op-eds/op-ed-northeasterns-redesign-of-the-khoury-curriculum-abandons-the-fundamentals-of-computer-science/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">huntnewsnu.com/82511/editorial</span><span class="invisible">/op-eds/op-ed-northeasterns-redesign-of-the-khoury-curriculum-abandons-the-fundamentals-of-computer-science/</span></a></p><p><a href="https://indieweb.social/tags/racketlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>racketlang</span></a> <a href="https://indieweb.social/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://indieweb.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a></p>
Ramin Honary<blockquote><p>“Question for lispers with experience: If you should start to learn a LISP style language today, which one do you pick up? Why?”</p></blockquote><p><span class="h-card"><a class="u-url mention" href="https://mastodon.sdf.org/@syntaxerror" rel="nofollow noopener" target="_blank">@<span>syntaxerror</span></a></span> The <a href="https://r7rs.org/%20" rel="nofollow noopener" target="_blank">R7RS “Small” Scheme standard</a> is roughly 80 pages, so you can learn about all of the language features very quickly. I love it because of it’s minimalism, it is my preferred language.</p><p>My take on it is that the “Small” Scheme standard is perfectly designed to construct larger programming languages with more features. One such language is R7RS “Large” Scheme, but you could theoretically use it to implement Common Lisp, Python, JavaScript, or any other language.</p><p>The R7RS “Large” standard is still being discussed (10 years after “small” was ratified), but it relies heavily on the “<a href="https://srfi.schemers.org%20" rel="nofollow noopener" target="_blank">Scheme Request For Implementation</a>“ (SRFI) process to fill out features. The larger portion of the R7RS “Large” standard is already ratified and published, so it is still useful even though it is not complete.</p><p>There are many Scheme implementations, but I recommend <a href="https://www.gnu.org/software/guile/%20" rel="nofollow noopener" target="_blank">Guile</a>, as it is almost completely R7RS-Small compliant, and has a ton of other useful features that come with it out of the box. So if you need, for example, a quick web server, or a way to search your filesystem, Guile has modules for that.</p><p>Another good batteries-included Lisp is <a href="https://racket-lang.org/%20" rel="nofollow noopener" target="_blank">Racket</a>, which is a larger language built on top of Chez Scheme (an R6RS Standard Scheme implementation). You can easily install the R7RS Scheme language pack on Racket and write your code in Scheme as you read through the R7RS standard document.</p><p>Both Guile and Racket/CS (Chez Scheme) not only have many useful features, but compile to binary code that runs extremely fast for a high-level language.</p><p>Also, if you haven’t already, try to learn to use Emacs.</p><p><a class="hashtag" href="https://fe.disroot.org/tag/tech" rel="nofollow noopener" target="_blank">#tech</a> <a class="hashtag" href="https://fe.disroot.org/tag/software" rel="nofollow noopener" target="_blank">#software</a> <a class="hashtag" href="https://fe.disroot.org/tag/lisp" rel="nofollow noopener" target="_blank">#Lisp</a> <a class="hashtag" href="https://fe.disroot.org/tag/commonlisp" rel="nofollow noopener" target="_blank">#CommonLisp</a> <a class="hashtag" href="https://fe.disroot.org/tag/scheme" rel="nofollow noopener" target="_blank">#Scheme</a> <a class="hashtag" href="https://fe.disroot.org/tag/schemelang" rel="nofollow noopener" target="_blank">#SchemeLang</a> <a class="hashtag" href="https://fe.disroot.org/tag/r7rs" rel="nofollow noopener" target="_blank">#R7RS</a> <a class="hashtag" href="https://fe.disroot.org/tag/emacs" rel="nofollow noopener" target="_blank">#Emacs</a> <a class="hashtag" href="https://fe.disroot.org/tag/guilescheme" rel="nofollow noopener" target="_blank">#GuileScheme</a> <a class="hashtag" href="https://fe.disroot.org/tag/racketlang" rel="nofollow noopener" target="_blank">#RacketLang</a></p>
Tess<p>Okay, so I guess I’ve never really posted an <a href="https://tech.lgbt/tags/introduction" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>introduction</span></a>, so probably a good time to do so after recently moving instances.</p><p>Hi, I’m Tess! My day job is working on the <a href="https://tech.lgbt/tags/dartlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dartlang</span></a> VM, and my PhD work was extending the <a href="https://tech.lgbt/tags/racketlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>racketlang</span></a> contract system to cover more language features like mutable containers and the class system.</p><p>I live in Denmark with my wife and our cat Leeroy, and in my spare time I mostly chat with friends on Discord, doomscroll, and play games, including <a href="https://tech.lgbt/tags/ffxiv" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ffxiv</span></a> and <a href="https://tech.lgbt/tags/gw2" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gw2</span></a>.</p>