osdir.com
mailing list archive

Subject: Re: Simple-streams patch (mostly) - msg#00228

List: lisp.cmucl.devel

Date: Prev Next Index Thread: Prev Next Index
Pierre R. Mai ? ?:

How does this interact with the encoding-related parts of the Unicode
branch (which I'm intent on merging step-wise into the main-branch
soonishly). Sorry for not looking myself, but I'm currently at a location
without CMUCL sources...

Those pieces are prototypes only. I'd like to get iconv compatibility in place as well, while also supporting translators in lisp.
The simple-streams external-format interface may well be suitable here.

I should get my development machine back in a week or two, and then I can fix up the external-format support for normal streams also, at which point I'll have an updated, compilable source tree for you.

In any case, I wouldn't worry about preserving any of the unicode external-format or character-database code, since it should be replaced in the near future anyhow.

I've come to the conclusion that the character database should probably be handled in terms of the union of character repertoires, which could then link directly into later work for supporting actual character repertoire types.

Grouping the characters this way also helps with attributes, since many attributes are quite constrained within a character set or repertoire, but not between them.

Regards,

Brian.





Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

Re: Simple-streams patch (mostly)

On Tue, 24 Jun 2003 09:09:17 +0200 (CEST), Pierre R Mai wrote: > Paul Foley said: >> On 23 Jun 2003 16:24:46 -0400, Raymond Toy wrote: >> Paul> * Add "ef" directory for external formats >> >>> Will probably rename this directory to external-formats. > How does this interact with the encoding-related parts of the Unicode > branch (which I'm intent on merging step-wise into the main-branch > soonishly). It doesn't. Or rather, it should work just fine in a Unicode-enabled image, but will still only read ISO 8859-1. I've never looked in the Unicode branch. When you merge it, I'll look at it/merge my stuff with it. -- Just because we Lisp programmers are better than everyone else is no excuse for us to be arrogant. -- Erann Gat (setq reply-to (concatenate 'string "Paul Foley " "<mycroft" '(#\@) "actrix.gen.nz>"))

Next Message by Date: click to view message preview

Re: Simple-streams patch (mostly)

"Pierre R. Mai" <pmai@xxxxxxx> writes: >>> Can't this be computed via (c::backend-byte-order c::*target-backend*)? >> >> Yup; Christophe Rhodes pointed that out, too, and I'm doing that >> now... > > While this is true, having corresponding features is often nicer than > accessing backend-byte-order. While one can play tricks with *features* > and eval-when, those aren't all that reliable and nice... The idiom I proposed is something like (eval-when (:compile-toplevel) ;; if I were really paranoid, I would suggest not :BIG-ENDIAN or ;; :LITTLE-ENDIAN, but C::BIG-ENDIAN and C::LITTLE-ENDIAN. (ecase (c::backend-byte-order c::*target-backend*) (:little-endian (pushnew :little-endian *features*)) (:big-endian (pushnew :big-endian *features*))) (assert (not (and (member :little-endian *features*) (member :big-endian *features*))))) (eval-when (:execute) (if (member :big-endian *features*) (when (member :little-endian *features*) (error "only one of :BIG-ENDIAN or :LITTLE-ENDIAN on ~ *FEATURES, please.")) (unless (member :little-endian *features*) (error "one of :BIG-ENDIAN or :LITTLE-ENDIAN required ~ on *FEATURES* to load as source.")))) Cheers, Christophe -- http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757 (set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b))) (defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)

Previous Message by Thread: click to view message preview

Re: Simple-streams patch (mostly)

On Tue, 24 Jun 2003 09:09:17 +0200 (CEST), Pierre R Mai wrote: > Paul Foley said: >> On 23 Jun 2003 16:24:46 -0400, Raymond Toy wrote: >> Paul> * Add "ef" directory for external formats >> >>> Will probably rename this directory to external-formats. > How does this interact with the encoding-related parts of the Unicode > branch (which I'm intent on merging step-wise into the main-branch > soonishly). It doesn't. Or rather, it should work just fine in a Unicode-enabled image, but will still only read ISO 8859-1. I've never looked in the Unicode branch. When you merge it, I'll look at it/merge my stuff with it. -- Just because we Lisp programmers are better than everyone else is no excuse for us to be arrogant. -- Erann Gat (setq reply-to (concatenate 'string "Paul Foley " "<mycroft" '(#\@) "actrix.gen.nz>"))

Next Message by Thread: click to view message preview

Re: Simple-streams patch (mostly)

"Pierre R. Mai" <pmai@xxxxxxx> writes: >>> Can't this be computed via (c::backend-byte-order c::*target-backend*)? >> >> Yup; Christophe Rhodes pointed that out, too, and I'm doing that >> now... > > While this is true, having corresponding features is often nicer than > accessing backend-byte-order. While one can play tricks with *features* > and eval-when, those aren't all that reliable and nice... The idiom I proposed is something like (eval-when (:compile-toplevel) ;; if I were really paranoid, I would suggest not :BIG-ENDIAN or ;; :LITTLE-ENDIAN, but C::BIG-ENDIAN and C::LITTLE-ENDIAN. (ecase (c::backend-byte-order c::*target-backend*) (:little-endian (pushnew :little-endian *features*)) (:big-endian (pushnew :big-endian *features*))) (assert (not (and (member :little-endian *features*) (member :big-endian *features*))))) (eval-when (:execute) (if (member :big-endian *features*) (when (member :little-endian *features*) (error "only one of :BIG-ENDIAN or :LITTLE-ENDIAN on ~ *FEATURES, please.")) (unless (member :little-endian *features*) (error "one of :BIG-ENDIAN or :LITTLE-ENDIAN required ~ on *FEATURES* to load as source.")))) Cheers, Christophe -- http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757 (set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b))) (defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by