* [Caml-list] [ANN] Uucp 0.9.0
@ 2014-06-28 22:08 Daniel Bünzli
2014-06-30 8:25 ` Goswin von Brederlow
0 siblings, 1 reply; 5+ messages in thread
From: Daniel Bünzli @ 2014-06-28 22:08 UTC (permalink / raw)
To: Caml-list
Hello,
I'd like to announce uucp:
Uucp is an OCaml library providing efficient access to a selection
of character properties of the [Unicode character database][1].
Uucp is independent from any Unicode text data structure and has no
dependencies. It is distributed under the BSD3 license.
[1]: http://www.unicode.org/reports/tr44/
Home page: http://erratique.ch/software/uucp
Documentation: http://erratique.ch/software/uucp/doc/Uucp
Github mirror: https://github.com/dbuenzli/uucp
It should be available shortly in opam. A few comments about the
library can be found at the end of this message.
Part of this work was sponsored by OCaml Labs, many thanks for their
support.
Best,
Daniel
A few notes.
* Having seen unwarranted sights of horror at the simple mention of
Unicode by fellow peers I took the time to write an absolute minimal
introduction to Unicode in the documentation:
http://erratique.ch/software/uucp/doc/Uucp.html#uminimal
At the end of this introduction end I also give a few biased tips on
how Unicode can be handled in OCaml.
* The data used to represent the properties is directly linked
in your executables. In the future I will adapt the library to use
OCaml 4.02 module aliases so that you only pay for the submodules
you access. For now linking against the library on osx 64-bit,
result in a 6.4 Mo executable and on linux 32-bit a 3.7 Mo
executable.
* If you are interested in Unicode caseless matching (equality)
of strings or identifiers, the documentation of the Uucp.Case module
has sample code on how to perform that using Uutf and Uunf. This
code may eventually be gathered in a proper module in the future.
http://erratique.ch/software/uucp/doc/Uucp.Case.html#caseexamples
* Not all properties are exposed. Obsolete properties, deprecated
properties and those that are specific to some unicode processing
algorithm (bidi, segmentation, normalization, etc.) are left out.
The reason for the latter is that these algorithm may need to devise
their own, maybe more efficient, representations. For example the
normalization properties are not included, as they are best stored,
used and exposed by a module that performs normalization
(e.g. Uunf). It is not excluded that I reverse this in the future
and make Uunf dependent on Uucp as this could make maintenance
easier (though Uunf sometimes uses optimized representations).
Also if the data needs to be used by more than one module
this may become less wasteful than each module including its own
data.
* Regarding the last point, the selection is subjective. If there's
a property you feel is useful in the wide and missing please
tell me (e.g. on github's issue tracker) with a good rationale and I
will add it. The full list of omitted properties is available here:
http://erratique.ch/software/uucp/doc/Uucp.html#distrib_omit
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Caml-list] [ANN] Uucp 0.9.0
2014-06-28 22:08 [Caml-list] [ANN] Uucp 0.9.0 Daniel Bünzli
@ 2014-06-30 8:25 ` Goswin von Brederlow
2014-06-30 9:37 ` Daniel Bünzli
0 siblings, 1 reply; 5+ messages in thread
From: Goswin von Brederlow @ 2014-06-30 8:25 UTC (permalink / raw)
To: caml-list
On Sat, Jun 28, 2014 at 11:08:00PM +0100, Daniel Bünzli wrote:
> Hello,
>
> I'd like to announce uucp:
http://en.wikipedia.org/wiki/UUCP
Maybe not the best name.
MfG
Goswin
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Caml-list] [ANN] Uucp 0.9.0
2014-06-30 8:25 ` Goswin von Brederlow
@ 2014-06-30 9:37 ` Daniel Bünzli
2014-06-30 14:11 ` Goswin von Brederlow
0 siblings, 1 reply; 5+ messages in thread
From: Daniel Bünzli @ 2014-06-30 9:37 UTC (permalink / raw)
To: Goswin von Brederlow; +Cc: caml-list
Le lundi, 30 juin 2014 à 09:25, Goswin von Brederlow a écrit :
> http://en.wikipedia.org/wiki/UUCP
>
> Maybe not the best name.
I think you are a little bit short sighted.
1) The UUCP protocol suite is now mostly a historical artefact
2) The library is called uucp and the module Uucp, not UUCP, just don’t apply Unicode’s canonical caseless matching algorithm and you will be able to distinguish...
3) Uucp as a name perfectly fits among the names of my modular implementation of Unicode (Uucd, Uutf, Uunf and more in the future)
4) Given the structure of the library and the way it’s going to be used in code, I doubt it will cause any confusion among people reading code that uses the library (recurse to point 1)).
Best,
Daniel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Caml-list] [ANN] Uucp 0.9.0
2014-06-30 9:37 ` Daniel Bünzli
@ 2014-06-30 14:11 ` Goswin von Brederlow
2014-06-30 14:34 ` Daniel Bünzli
0 siblings, 1 reply; 5+ messages in thread
From: Goswin von Brederlow @ 2014-06-30 14:11 UTC (permalink / raw)
To: caml-list
On Mon, Jun 30, 2014 at 10:37:43AM +0100, Daniel Bünzli wrote:
> Le lundi, 30 juin 2014 à 09:25, Goswin von Brederlow a écrit :
> > http://en.wikipedia.org/wiki/UUCP
> >
> > Maybe not the best name.
> I think you are a little bit short sighted.
>
> 1) The UUCP protocol suite is now mostly a historical artefact
It's still being used though.
> 2) The library is called uucp and the module Uucp, not UUCP, just don???t apply Unicode???s canonical caseless matching algorithm and you will be able to distinguish...
Package: uucp
Description: Unix to Unix Copy Program
Package: ocaml-uucp
Description: Unix to Unix Copy Program for OCaml (runtime)
So what (Debian) package name should your Uucp then have?
> 3) Uucp as a name perfectly fits among the names of my modular implementation of Unicode (Uucd, Uutf, Uunf and more in the future)
>
> 4) Given the structure of the library and the way it???s going to be used in code, I doubt it will cause any confusion among people reading code that uses the library (recurse to point 1)).
>
> Best,
>
> Daniel
I'm just saying that it will cause confusion, at least among old
timers like me.
MfG
Goswin
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-06-30 14:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-28 22:08 [Caml-list] [ANN] Uucp 0.9.0 Daniel Bünzli
2014-06-30 8:25 ` Goswin von Brederlow
2014-06-30 9:37 ` Daniel Bünzli
2014-06-30 14:11 ` Goswin von Brederlow
2014-06-30 14:34 ` Daniel Bünzli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox