[gambit-list] Re "SRFI 75: Unicode", rather for reference: Gambit+this lib provides all of its functionality. It would be possible to make a "srfi75" wrapper module. Re: Unicode library released

Mikael mikael.rcv at gmail.com
Tue Oct 16 22:47:18 EDT 2012


Ah, for a sidenote, it struck me this library extremely easily can be
wrapped into a "SRFI 75: Unicode" implementation almost only through
procedure renaming.

For SRFI 75: Unicode, see: http://srfi.schemers.org/srfi-75/srfi-75.html

So, this is just to mention that all the functionality of SRFI 75 is
already implemented within the combo of Gambit + this Unicode lib.

If anyone would see a reason for bringing this functionality into the exact
naming used in SRFI 75 and releasing this under the name of a "srfi75"
wrapper library (spontaneously I didn't quite see any reason for this til
now, except for perhaps cross-Scheme-system-compatibility reasons), you're
free to mention this here and/or implement it.

Brgds,
M


Basically Gambit already implements 80% of SRFI 75 by it using Unicode
fully internally and in all of its char and string representaitons, the
only remaining things being case-insensitive comparison and
upcasing/downcasing operations i.e.

string-ci=? string-ci<? string-ci>? string-ci<=? string-ci>=?
char-ci<? char-ci=? char-ci=?
char-upper-case? char-lower-case? char-title-case? char-title-case?

char-upcase char-downcase char-titlecase char-foldcase
string-upcase string-downcase string-foldcase string-titlecase


These, Gambit essentially implements but regarding the US charset only.
This Unicode library implements them for the entire Unicode standard but
under different function names. (I believe the functionality is implemented
exactly according to the SRFI 75 spec, though this would need to be
double-checked and if anything needs to be adjusted to match, it ought to
be completely minor.)

Perhaps there could be a benefit of having the Gambit-provided ANSI-only
correspondents of the abovementioned procedures left referred to under some
name though. Perhaps even the original name, and thus having the unicode
ones under separate names, as it is with this Unicode lib already.


2012/5/21 Mikael <mikael.rcv at gmail.com>

> Hi guys,
>
> A Unicode library for Gambit has been released.
>
> Many thanks to Florian Loitsch for releasing the Unicode library for
> Bigloo, of which this library in many respects is a port.
>
> The Unicode library for Gambit does the following Unicode handling:
>
>      unicode-char-upper unicode-char-lower
>      unicode-string-upper unicode-string-upper! ; "aBc" => "ABC"
>      unicode-string-lower unicode-string-lower! ; "aBc" => "abc"
>      unicode-string-capitalize-strict! unicode-string-capitalize-strict ;
> "aBc" => "Abc"
>       string-unicode-ci<? string-unicode-ci<=? string-unicode-ci=?
> string-unicode-ci>? string-unicode-ci>=?
>
> It runs out of the box on vanilla Gambit and on Black Hole.
>
> License is New BSD.
>
> It's both released on the Dumping grounds
> http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Dumping_Grounds and
> on GitHub at https://github.com/m-i-k-a-e-l/gambit-unicode .
>
> For some more info, please see the copy of the library headers below.
>
> Kind regards,
> Mikael
>
>  -
>
> Gambit Unicode library 1.0
> New BSD license
>
> Enables Gambit Scheme with Unicode handling features.
> Runs out of the box on vanilla Gambit and on Black Hole.
>
> The Gambit-specific code and distribution:
> Copyright (C) 2010-2012 Mikael More
>
> The unicode-data.scm generator and Bigloo unicode library this library was
> inspired by,
> found in the bigloo-unicode directory:
> Copyright (C) 2007-2012 Florian Loitsch
>
> The source data for the unicode-data.scm generator, found in the
> bigloo-unicode/data directory:
>  Copyright (C) 1991-2011 Unicode, Inc.
>
> ## Exports
> unicode-char-upper
> unicode-char-lower
> unicode-string-upper unicode-string-upper! ; "aBc" => "ABC"
> unicode-string-lower unicode-string-lower! ; "aBc" => "abc"
> unicode-string-capitalize-strict! ; "aBc" => "Abc"
> unicode-string-capitalize-strict  ;
> string-unicode-ci<?
> string-unicode-ci<=?
> string-unicode-ci=?
> string-unicode-ci>?
> string-unicode-ci>=?
>
> ## Relation with Bigloo Unicode library. Intended scope of use of this
> library.
> This library is based on the Unicode library for Bigloo Scheme by Florian
> Loitsch, as bundled
> with the js2scheme distribution as found on
> http://code.google.com/p/js2scheme/source/browse/ .
>      A copy of this library is provided in this distribution in the
> bigloo-unicode directory,
> to enable you to easily generate Unicode constants based on any new
> Unicode Character Database
> versions.
>      The vesion of the Bigloo Unicode library bundled here is was pulled
> from the abovementioned
> repo the 13:t of May 2012. Florian's last changes were the 12:th of March
> 2011. Florian's code is
> to be viewed as stable since at least 2010, to the best of my knowledge
> the only changes since
> then have been minor restructurings.
>
> Please note that the scope of this library and the Bigloo unicode library
> are different, in that
> Gambit has complete native Unicode character handling and charset
> encoding/decoding features
> built-in and thus none of this needs to be provided in a separate library,
> whereas the
> Bigloo Unicode library provides such functionality to Bigloo.
>
> ## Distribution overview
> unicode.scm           - The Gambit Unicode handling library
> unicode-data.scm      - The constants required to make unicode.scm spin.
>                         Generated out of the Unicode Character Database.
> bigloo-unicode/*      - Florian Loitsch's unicode-data.scm generator, and
> Bigloo Unicode library
>                         that was used as inspiration for making this
> library.
>                         Use this to generate a new unicode-data.scm out of
> a Unicode Character
>                         Database update, if that would ever be released
> and relevant.
>                         Latest version as of the 13:th of May 2012, see
> more above.
> bigloo-unicode/data/* - The required files of the Unicode Character
> Database, see below.
>
> ## How to update unicode-data.scm with a new version of the Unicode
> Character Database
> In case by any reason this would ever be relevant, here is how to proceed:
>
> Update the bigloo-unicode/data/ files (namely SpecialCasing.txt and
> UnicodeData.txt) with
> the new Unicode Character Database files.
>
> As of the date of writing, these are released on
> http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt and
> http://www.unicode.org/Public/UNIDATA/UnicodeData.txt ,
> and you can see the release date of the latest update of them on
> http://www.unicode.org/Public/UNIDATA/ .
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20121017/80d4a967/attachment.htm>


More information about the Gambit-list mailing list