[pro] CDR for UTF* and UNICODE handling in :element-type (Re: write-char vs. 8-bit bytes)

Faré fahree at gmail.com
Fri Apr 11 20:57:34 UTC 2014


On Fri, Apr 11, 2014 at 4:32 PM, Antoniotti Marco
<antoniotti.marco at disco.unimib.it> wrote:
> I understand that my original message was not on spot.  In fact I changed the subject line in my response…  The issue, in any case, appears to be the handling of characters nevertheless.  Maybe Paul can clarify what he was really trying to do.
>
> In any case… I am the only person who thinks that a “sub-standard” on these issues may be a Good Thing?
>
For basic survival, ASDF since 2.21 has support for encodings, and
asdf::*utf-8-external-format* (now exported by uiop) will let you
portably handle utf-8 streams (falling back to :default on 8-bit
implementations). UCS-2 and UTF-16 are not universally supported, but
asdf-encodings can help you find your implementation's external-format
for them if available. Or for portable behavior reimplementing things
the hard way, you could use either cl-unicode and flexi-streams, or
babel and streams of (unsigned-byte 8).

If you can't convince the community to choose between babel and
cl-unicode and whichever other alternatives may exist, what makes you
think you can get yet another incompatible standard widely adopted?
https://xkcd.com/927/

PS: all implementations that accept unicode accept :external-format
:utf-8... except clisp, that requires you to use 'charset:utf-8. If
you want to work towards a common external-format, start here

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
#.(let((q`(#0=lambda(q)(labels((p(q)(if(atom q)(intern(#1=reverse(string
q)))(#1#(mapcar #'p q))))(q(q)(subst q(eq q q)'(#2=defun p(&aux #2#nufed
,@''#3=etouq(xua& #3#)p tsil)((#0#(q)(setq q 't tsil q nufed(eval(list q
(list'quote q)))))#3#)))))(nconc(q q)(p(q q)))))))(eval`(,q',q)))




More information about the pro mailing list