Hi,

I finally got myself on the list and noticed dougs:

The Judy API has always been awkward.  I have never been happy with it.
I have received a lot of criticism about it over the years.  I challenge
anyone to come up with a better one, but so far there have been no takers
(that actually deliver a Judy.h file with the prototypes that can possibly work).


I also found it awkward, and can respond to that challenge: At least I understand the api I have better. 
It's kind of unified but more verbose. 
- All function names start with judy 
-next comes the type they work on (i call them set and array, not 1 and L),
- their first argument is always the same (no-brainer).
- Function names continue with what they do, ie get/set/delete

The whole api is inlined 

some exapmples:

static inline VALUE judy_set_length(Tree* set){
static inline VALUE judy_set_delete(Tree* set , VALUE index){

static inline VALUE judy_array_get(Tree* array , VALUE index){
static inline VALUE judy_array_set(Tree* array , VALUE index , VALUE value ){

the VALUE comes from ruby and is just an unsigned int/long same size as pointer

Torsten

PS: I can send a my .h file if anyone is interested.