Login
You're viewing the front-end.social public feed.
  • Oct 9, 2026, 7:46 PM

    @cwebber @bremner @aparrish Wait, scheme's strings are unicode without needing to dodge around stuff? Didn't I try-and-fail to read an old book of the spec in, like, middle-school, doesn't it way-predate unicode standardization?

    ... oh right wait right you can Just Do That if you come together to consensus and put out reports revising the language every ~decade or so.

    💬 2🔄 0⭐ 2

Replies

  • 💬 1🔄 0⭐ 0
  • 💬 0🔄 0⭐ 3
  • Oct 9, 2026, 9:28 PM

    @gaditb wisp is working without a hitch. No syntax changes needed for years now shows me that the design worked out.

    And there’s a fledgling tutorial for creating #games with wisp:
    draketo.de/software/enter-thre

    It includes complete setup instructions for self-hosting your games and expands on the 64 page programming with #wisp #book:
    draketo.de/software/programmin

    (though the text of that one is still getting feedback to make it easier to understand)
    @cwebber @bremner @aparrish

    💬 1🔄 1⭐ 3
  • Oct 9, 2026, 10:44 PM

    @gaditb Regarding the state in terms of spread: in the past year about 10.000 people visited the Naming and Logic: programming essentials with #wisp books webpage and over 1.900 downloaded the #creativecommons by-sa licensed #PDF of the book:

    draketo.de/software/programmin

    That’s not huge, but given how deep it is in a niche of a niche, I’m pretty happy.

    And I’d be even happier if you helped spread it further :-)

    @cwebber @bremner @aparrish

    💬 1🔄 2⭐ 2
  • 💬 0🔄 0⭐ 0
  • 💬 1🔄 0⭐ 2
  • Oct 9, 2026, 8:17 PM

    @cwebber @gaditb @bremner @aparrish what does "strings are unicode" mean? "canonically equivalent strings measure as equal"? or "strings are sequences of grapheme clusters with the structure, but not semantics, of unicode extended grapheme clusters"? or just "strings are sequences of code points in the range 0x0000 to 0x10FFFF with code points in the range 0xD800 to 0xDFFF forbidden"? or "strings are sequences of code points in the range 0x0000 to 0x10FFFF with code points in the range 0xD800 to 0xDFFF allowed"?

    💬 1🔄 0⭐ 1
  • Oct 9, 2026, 8:31 PM

    @u2764 @cwebber @bremner @aparrish I assume "string and bytesequence are different types", and in particular "slicing and joining and length and nth-character selection and char-by-char iteration and regular expressions and ..., transform valid unicode sequences to valid unicode sequences, and don't split or choke on multi-byte single-codepoint sequences".

    💬 0🔄 0⭐ 1
  • 💬 1🔄 0⭐ 0
  • Oct 9, 2026, 8:42 PM

    @gaditb @cwebber @bremner @aparrish but most people use “supports unicode” to mean “has an underlying data type which can support numbers up to 0x10FFFF”, which does not really involve Unicode at all, since Unicode does not mandate that characters have a particular byte representation

    what is a “multi-byte sequence” in this context? 好 and æ̇ are both characters which take up multiple bytes, but one is a single codepoint and one is two. do you treat these the same or differently?

    💬 1🔄 0⭐ 0
  • Oct 9, 2026, 8:47 PM

    @gaditb @cwebber @bremner @aparrish “naïve” and “naïve” are canonically equivalent strings. if a program expects one and a user inputs the other, this should be treated as a match. the lengths of these strings should be the same, and iterating their characters should produce canonically equivalent grapheme clusters. that is what the unicode standard specifies behaviour should be

    💬 1🔄 0⭐ 1
  • 💬 0🔄 0⭐ 1
  • Oct 9, 2026, 9:07 PM

    @u2764 @gaditb @cwebber @bremner yeah, really what i mean by "strings are unicode" is that i don't have to profusely apologize to my students who want their programs to work with languages that don't easily fit into the one-byte-per-character paradigm. python strings are sequences of unicode code points, which is at least a good starting point for this, especially w/the unicodedata library (for canonicalization and grapheme cluster iteration). something like that would be an okay baseline imo

    💬 0🔄 0⭐ 0
  • Oct 9, 2026, 8:35 PM

    @cwebber @gaditb @bremner @aparrish (i am dubious that you can have both “a small team could reasonably re-implement the language from the standard” and “strings are unicode”. a small team CANNOT reasonably re·implement the unicode standard. language is complex and requires a team of specialists to properly handle. you can outsource this work to ICU, but that means either shipping ICU in your binaries or giving up on easy crossplatform compatibility. and that would still be “a small team could easily re·implement except this one core part”. sorry)

    💬 1🔄 0⭐ 1
  • Oct 9, 2026, 10:54 PM

    @u2764 @cwebber @gaditb @bremner i do agree with this, unfortunately, especially since unicode is a moving target (and none of the decision-makers involved really have any reason to make implementation easy). i never said my criteria were actually attainable, or not self-contradictory, haha

    💬 0🔄 0⭐ 0
  • Oct 11, 2026, 2:38 AM

    @gaditb @cwebber @bremner @aparrish Chicken Scheme is also slop-free and UTF-8 internally, recently gained R7RS support, and can be compiled to C for performance, as well as interpreted. The C can be compiled with Zig as well as other compilers.

    💬 1🔄 1⭐ 0
  • 💬 0🔄 0⭐ 0