From: James A. Crippen
Subject: Non ascii chars in Lisps
Date: 
Message-ID: <3618B733.39823D17@saturn.math.uaa.alaska.edu>
Erik <····@naggum.no> recently mentioned in passing a 'approach for
international character sets in Allegro CL'.  That made me think for a
few about special characters.  Are there any lisps out there that run on
*nix that support weird characters that aren't ascii?  Not only the
international characters (accents, eth/thorn, etc.) but fun ones like
uparrow, equivalent, greek (having a single character lambda would be
*so* cool), the dogforsaken APL thingies, and so forth.
If lisps do support them, is there any convenient way to type them in?

A scheme based OS that a friend and I are hacking on will support entry
of any character that you want from the keyboard, including the unicode
set, and also including user defined characters that exist only in
strange bitmaps.  The keyboard is dynamically reconfigurable to allow
for entry of any character or signal that the user wishes to type.  Code
can be attached to particular keys, etc.  I've often thought about
trying to make X do this sort of thing, but reading the xmodmap(1x) page
has dampened my spirits every time.  It sure would be nice to do,
though...

I suppose what I'm trying to get at is:
Why can't I have a space-cadet keyboard on my Linux PC?  There are
certainly enough meta keys, esp on the 'windoze' keyboard.  In X I've
got Control, Meta, Super, and Hyper, and I haven't used them up in
XEmacs yet, which says something.  So why can't I type bizarre
characters into XEmacs?  Or into CMUCL?  Or into anything I want?  It's
enough to drive me to write my own operating system, which I'm doing.

fnord,
james

From: Rainer Joswig
Subject: Re: Non ascii chars in Lisps
Date: 
Message-ID: <joswig-0510981824170001@pbg3.lavielle.com>
In article <·················@saturn.math.uaa.alaska.edu>, "James A.
Crippen" <········@saturn.math.uaa.alaska.edu> wrote:

> Erik <····@naggum.no> recently mentioned in passing a 'approach for
> international character sets in Allegro CL'.  That made me think for a
> few about special characters.  Are there any lisps out there that run on
> *nix that support weird characters that aren't ascii? 

Get a Mac or get Genera. I would think when it
comes to multinational input/sorting/... the Mac is
quite advanced. Read Inside Mac (from the developer site
at Apple) how they do it.

-- 
http://www.lavielle.com/~joswig
From: Howard R. Stearns
Subject: Re: Non ascii chars in Lisps
Date: 
Message-ID: <36192598.E8C1C41C@elwood.com>
James A. Crippen wrote:
> 
> Erik <····@naggum.no> recently mentioned in passing a 'approach for
> international character sets in Allegro CL'.  That made me think for a
> few about special characters.  Are there any lisps out there that run on
> *nix that support weird characters that aren't ascii?  Not only the
> international characters (accents, eth/thorn, etc.) but fun ones like
> uparrow, equivalent, greek (having a single character lambda would be
> *so* cool), the dogforsaken APL thingies, and so forth.
> If lisps do support them, is there any convenient way to type them in?
> ...

Eclipse supports Unicode after a fashion.  See
http://www.elwood.com/eclipse/char.htm

In short:

+ You can do whatever you want within Lisp, with base-char being
represented by Eclipse using C char, and extended-char beging
represented using wchar_t.

+ When doing I/O to a stream:
  1. You need to specify the :external-format for the stream (:ASCII,
:UCS, :MULTI-BYTE, etc.)  Eclipse will perform the requested
formatting/unformatting.
  2. It's up to you and the operating system to have the operating
system "do the right thing" with the data it gets.  For example, if you
dump extended-chars to a stream which you have told Eclipse is
:multi-byte, the operating system then better do the right thing with
the bytes it gets.

+ Comparison, etc., use the ANSI C wide char utilities, which means they
depend on your operating system to do the right thing (respect LOCALE,
etc.)