fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

8.7K
active users

#dylanlang

0 posts0 participants0 posts today
Absolutum Obsoletum<p><span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span> <a href="https://mastodon.social/tags/RabbitSeason" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RabbitSeason</span></a> ? <a href="https://mastodon.social/tags/DuckSeason" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DuckSeason</span></a> ? Noo, <a href="https://mastodon.social/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> season.</p>
Dylan Language<p>Messing about with AI generated images...</p><p><a href="https://fosstodon.org/tags/DylanLang" class="mention hashtag" rel="tag">#<span>DylanLang</span></a></p>
sigue<p>Writing an implementation of the Mustache template system in <a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a>. Kudos to them for writing tests in YAML and JSON format. It only took about 30 minutes to write a full test suite!</p><p>Ran 72 assertions<br>Ran 194 tests: 41 passed, 122 crashed, and 31 failed</p><p>(Now all I have to do is fix all the bugs.)</p><p>ps. Do not search for hashtag mustache on Mastodon unless you're up for some gay porn.</p><p><a href="https://universeodon.com/tags/MustacheTemplating" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MustacheTemplating</span></a> <br><a href="https://universeodon.com/tags/MustacheTemplates" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MustacheTemplates</span></a></p>
Dylan Language<p>Nice article on the Open Dylan 2025.1 release by <span class="h-card" translate="no"><a href="https://geeknews.chat/@theregister" class="u-url mention">@<span>theregister</span></a></span> : <a href="https://www.theregister.com/2025/06/26/opendylan_20251_released/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://www.</span><span class="ellipsis">theregister.com/2025/06/26/ope</span><span class="invisible">ndylan_20251_released/</span></a></p><p>It&#39;s nice to see our efforts noticed! :)</p><p><a href="https://fosstodon.org/tags/DylanLang" class="mention hashtag" rel="tag">#<span>DylanLang</span></a> <a href="https://fosstodon.org/tags/TheRegister" class="mention hashtag" rel="tag">#<span>TheRegister</span></a></p>
Dylan Language<p>A new release of the Open Dylan compiler, IDE, and tools is now available for download! It has been a while since we&#39;ve done a release and this release includes various bug fixes for the compiler, a new multi-line string literal syntax, the Dylan LSP server for emacs and VS Code, and enhancements to Deft, the Open Dylan command-line tool.</p><p>See the 2025.1 Release Notes for an overview of what&#39;s in this release: <a href="https://opendylan.org/release-notes/2025.1.html" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">opendylan.org/release-notes/20</span><span class="invisible">25.1.html</span></a></p><p><a href="https://opendylan.org" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">opendylan.org</span><span class="invisible"></span></a></p><p><a href="https://fosstodon.org/tags/DylanLang" class="mention hashtag" rel="tag">#<span>DylanLang</span></a> <a href="https://fosstodon.org/tags/lsp" class="mention hashtag" rel="tag">#<span>lsp</span></a> <a href="https://fosstodon.org/tags/compiler" class="mention hashtag" rel="tag">#<span>compiler</span></a></p>
Absolutum Obsoletum<p>Un día alegre. <br><a href="https://mastodon.social/tags/Dylanlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Dylanlang</span></a> tiene una nueva versión <a href="https://opendylan.org/release-notes/2025.1.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">opendylan.org/release-notes/20</span><span class="invisible">25.1.html</span></a> en la que modestamente he participado.<br>Muchas gracias a los Dylan <a href="https://mastodon.social/tags/hackers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hackers</span></a> que me dejan jugar en este lenguaje de <a href="https://mastodon.social/tags/programaci%C3%B3n" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programación</span></a>.</p>
Absolutum Obsoletum<p>In 2024/Jan/31 I did a PR to <a href="https://mastodon.social/tags/github" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>github</span></a> to add a .gitignore for <a href="https://mastodon.social/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a>. Two days ago a bot told me that this PR is staled and it will be close after 180 days of inactivity. I should leave a comment if I want to keep it open.</p><p>What would you do?</p>
Dylan Language<p>🎉 New release of the base64 library. 🎉 </p><p>Essentially a modernization to match RFC 4648.</p><p><a href="https://github.com/dylan-lang/base64/releases/tag/v0.3.0" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">github.com/dylan-lang/base64/r</span><span class="invisible">eleases/tag/v0.3.0</span></a></p><p><a href="https://fosstodon.org/tags/DylanLang" class="mention hashtag" rel="tag">#<span>DylanLang</span></a></p>
Dylan Language<p>New &quot;columnist&quot; library for doing simple columnar output to the screen: <a href="https://github.com/cgay/columnist" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">github.com/cgay/columnist</span><span class="invisible"></span></a> 🎉 </p><p><a href="https://fosstodon.org/tags/DylanLang" class="mention hashtag" rel="tag">#<span>DylanLang</span></a></p>
sigue<p><span class="h-card" translate="no"><a href="https://norcal.social/@UweHalfHand" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>UweHalfHand</span></a></span> </p><p>Possibly this is not at all relevant to your situation but I thought I'd mention the way this is handled in <a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> (specifically in Open Dylan) since Dylan is similar to Scheme in many ways. Whether or not you could do similar in the Wile compiler probably depends a lot on implementation details.</p><p>"element" is the generic function used for collection accesses. For example, element(s, 0) === s[0]. "element" is defined essentially as</p><p>1. call element-range-check(...);<br>2. call element-no-bounds-check(...);</p><p>and Open Dylan provides a macro without-bounds-checks (<a href="https://github.com/dylan-lang/opendylan/blob/6ea23c96eec5ea6f0b501624c6c768fb5db4a2c8/sources/dylan/collection-macros.dylan#L31" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/dylan-lang/opendyla</span><span class="invisible">n/blob/6ea23c96eec5ea6f0b501624c6c768fb5db4a2c8/sources/dylan/collection-macros.dylan#L31</span></a>) that rebinds "element" to "element-no-bounds-check".</p><p><a href="https://github.com/dylan-lang/opendylan/blob/6ea23c96eec5ea6f0b501624c6c768fb5db4a2c8/sources/dylan/string.dylan#L83" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/dylan-lang/opendyla</span><span class="invisible">n/blob/6ea23c96eec5ea6f0b501624c6c768fb5db4a2c8/sources/dylan/string.dylan#L83</span></a></p>
Dylan Language<p><span class="h-card" translate="no"><a href="https://mastodon.social/@absolutum_obsoletum" class="u-url mention">@<span>absolutum_obsoletum</span></a></span> contributed a cheat sheet for people who already know <a href="https://fosstodon.org/tags/Python" class="mention hashtag" rel="tag">#<span>Python</span></a> and and want to learn Dylan. w00t!</p><p><a href="https://opendylan.org/documentation/cheatsheets/python.html" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">opendylan.org/documentation/ch</span><span class="invisible">eatsheets/python.html</span></a></p><p><a href="https://fosstodon.org/tags/DylanLang" class="mention hashtag" rel="tag">#<span>DylanLang</span></a></p>
Vassil Nikolov<p><span class="h-card" translate="no"><a href="https://universeodon.com/@sigue" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sigue</span></a></span> <span class="h-card" translate="no"><a href="https://tilde.zone/@nytpu" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>nytpu</span></a></span></p><p>&gt; <a href="https://ieji.de/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> has separate functions for map, map-as, and do.</p><p>That is certainly a justifiable different design approach (than <a href="https://ieji.de/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a>'s).</p><p><a href="https://ieji.de/tags/ThereAreAlwaysTradeoffs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ThereAreAlwaysTradeoffs</span></a></p>
sigue<p><span class="h-card" translate="no"><a href="https://ieji.de/@vnikolov" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>vnikolov</span></a></span> <span class="h-card" translate="no"><a href="https://tilde.zone/@nytpu" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>nytpu</span></a></span> </p><p>We don't always learn every construct in a language by staring at the spec. Frequently (thankfully) it's clear from the argument list, e.g. (map result-type function first-sequence &amp;rest more-sequences) how the function works.</p><p>The problem here is that (map nil ...) is completely unintuitive. It's even non-obvious when you see it used in CL code.</p><p>This is why <a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> has separate functions for map, map-as, and do. </p><p><a href="https://opendylan.org/books/drm/Collection_Operations#HEADING-102-512" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">opendylan.org/books/drm/Collec</span><span class="invisible">tion_Operations#HEADING-102-512</span></a></p>
sigue<p><span class="h-card" translate="no"><a href="https://mastodon.social/@tiang" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>tiang</span></a></span> </p><p><a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a></p>
sigue<p><span class="h-card" translate="no"><a href="https://appdot.net/@mdhughes" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>mdhughes</span></a></span> </p><p>Your post prodded me to finally read the Rhombus macro paper. (Well, I skipped a lot of the gory details and concentrated on the intro and the comparisons.)</p><p>My take, as a <a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> lover, is that I don't see a huge advantage in all the flexibility Rhombus provides over what Dylan already has. I tend to use macros sparingly though, in Dylan but even in Common Lisp.</p><p>But it seems like a cool advance in the state of the art for non-s-expression macro technology. (Not an expert though.)</p><p><span class="h-card" translate="no"><a href="https://functional.cafe/@jackdaniel" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>jackdaniel</span></a></span></p>
sigue<p><span class="h-card" translate="no"><a href="https://hachyderm.io/@glitzersachen" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>glitzersachen</span></a></span> </p><p>Personally, I switched to <a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a>. Although its "locators" library was probably somewhat modeled on Common Lisp pathnames, i'd say it's much better designed.</p><p>I've heard some Common Lispers claim they just avoid pathnames completely, but I'm not sure what they do instead.</p><p>What's the high-level problem you're trying to solve that has led to this nightmare? Maybe you can avoid it completely?</p>
sigue<p><span class="h-card" translate="no"><a href="https://mastodon.sdf.org/@screwtape" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwtape</span></a></span> </p><p>This will sound like sacrilege for <a href="https://universeodon.com/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a> but in <a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> I no longer use plain symbols as a poor-man's enum. Instead I do this:</p><p>define constant $rock = #"rock"; <br>define constant $paper = #"paper"; <br>define constant $scissors = #"scissors"; </p><p>define constant &lt;tool&gt; = one-of($rock, $paper, $scissors);</p><p>and then type things as &lt;tool&gt; where appropriate. Et voilà, I can no longer misspell symbol names without getting a compiler warning. More importantly, neither can clients of my library.</p><p>EDIT: fix Dylan bugs, add last sentence.</p>
sigue<p>I aspire for Deft (<a href="https://package.opendylan.org/deft/index.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">package.opendylan.org/deft/ind</span><span class="invisible">ex.html</span></a>), the <a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> dev tool, to meet with Borretti's approval: <a href="https://borretti.me/article/language-tooling-antipatterns" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">borretti.me/article/language-t</span><span class="invisible">ooling-antipatterns</span></a> </p><p>I think it's getting there.</p><p><a href="https://universeodon.com/tags/devtools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>devtools</span></a></p>
sigue<p>I made a nice little improvement to the <a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> docs recently, by making a small change to the DylanDomain <a href="https://universeodon.com/tags/Sphinx" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Sphinx</span></a> module. </p><p>Now wherever I document a class, method, constant, etc, it creates a table of contents entry, making the reference docs much easier to navigate. Seems obvious, right? But it was missing for a long time.</p><p>Progress, be it ever so humble.</p><p><a href="https://package.opendylan.org/http/reference/server.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">package.opendylan.org/http/ref</span><span class="invisible">erence/server.html</span></a> is an example where all those entities in the ToC on the right were just missing.</p>
sigue<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@amoroso" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>amoroso</span></a></span> </p><p>All the things he talks about macros doing can be done in infix syntax too. <a href="https://universeodon.com/tags/DylanLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DylanLang</span></a> for example, since circa 2000. But I will say that _writing_ macros is a lot easier in prefix syntax than infix syntax. </p><p>(I have this queued up to read, but have not read it yet: <a href="https://dl.acm.org/doi/10.1145/3622818" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">dl.acm.org/doi/10.1145/3622818</span><span class="invisible"></span></a>)</p><p>I think that ultimately syntax is a very personal choice. I'm fine with Lisp syntax, but I honestly find Dylan and Python easier to read, precisely _because of_ the variability and no need for lots of parens.</p>