cc-devel AT lists.ibiblio.org
Subject: Developer discussion for Creative Commons technology and tools
List archive
[cc-devel] API changes for liblicense: drop ll_get_name() and friends
- From: Asheesh Laroia <asheesh AT creativecommons.org>
- To: cc-devel AT lists.ibiblio.org
- Subject: [cc-devel] API changes for liblicense: drop ll_get_name() and friends
- Date: Mon, 7 Jan 2008 19:14:56 -0800 (PST)
I'm preparing liblicense for a 0.5 release. There's been a lot of great work in liblicense done by people who aren't me over the last few months, and it's (way past) time for that work to see a general release.
I'm inventorying it now to see what else should be done before 0.5. I came up with an API switch I wanted to make, so I thought I'd ask the list about it. (NY, this includes you - I haven't asked anyone other than my head about this.) Be warned: No comments on this mean I'm going to get my way!
We have some ll_get_* functions, like ll_get_name, ll_get_jurisdiction, and ll_get_version, and also a general ll_get_attribute() function. I would like to remove the named ll_get_* functions and require users of the license to use the ll_get_attribute(license_uri, LL_ATTRIBUTE_URI_PERMITS) syntax.
Advantages:
* Only one way to do it, and that way to do it extends in an obvious way to the other
* This is a C library, so people who complain about the syntax can't really complain - they're already in C
* The addition of * Making people aware of our constants makes it easier to show them that they can often re-use these constants in other RDF-exposing libraries.
Impact on speed:
* None: If you use our (e.g.) LL_ATTRIBUTE_URI_PERMITS constant, then we can do a pointer equailty check instead of a string check, which is practically free, so there should be no speed loss from switching to this.
Impact on library usability:
* Hardly any: If your text editor has known-word completion, then it's just as easy to expand arguments to ll_get_attribute as it is to expand the function name ll_get_name.
Disadvantages:
* Only one: It makes the calls to ll_get_name(uri) etc. look longer. I'm okay with shortening e.g. LL_ATTRIBUTE_URI_REQUIRES to LL_ATTRIBUTE_REQUIRES or LL_ATTR_REQUIRES or even LL_REQUIRES.
Your take:
[This space intentionally left blank.]
-- Asheesh.
--
All heiresses are beautiful.
-- John Dryden
-
[cc-devel] API changes for liblicense: drop ll_get_name() and friends,
Asheesh Laroia, 01/07/2008
- Re: [cc-devel] API changes for liblicense: drop ll_get_name() and friends, Nathan Yergler, 01/07/2008
-
Re: [cc-devel] API changes for liblicense: drop ll_get_name() and friends,
Peter Miller, 01/08/2008
- Re: [cc-devel] API changes for liblicense: drop ll_get_name() and friends, Asheesh Laroia, 01/08/2008
- Re: [cc-devel] API changes for liblicense: drop ll_get_name() and friends, Jon Phillips, 01/08/2008
Archive powered by MHonArc 2.6.24.