igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] miscellaneous from a newbie, docs and interfacing


From: Gábor Csárdi
Subject: Re: [igraph] miscellaneous from a newbie, docs and interfacing
Date: Thu, 7 Jan 2010 13:02:06 +0100

Hi,

On Mon, Jan 4, 2010 at 8:41 PM, Marco Maggi <address@hidden> wrote:
> Ciao,
>
>  I  am  examining  IGraph  for  a  possible  binding  to  a
> high-level language.  I am using it on GNU+Linux.  I really,
> really,  really appreciate  the fact  that  the distribution
> comes  with   documentation  in  Info   format  (though  not
> traditionally structured).
>
> * Is it  possible to have  the doc file  named "igraph.info"
>  rather    than    "igraph-docs.info",    and   make    the
>  "install-info" Makefile rule install it?

Possibly. I remember that there was a reason for the naming, but
cannot recall now what it was exactly.

> * There  are  several  typos  in  the docs,  is  the  source
>  available?   In   what  format?   (I  gather   it  is  not
>  Texinfo... :-/)

The documentation is included in the source files, as comments. The
format is similar to doxygen.

> * IMHO having  the tutorial full of references  to other doc
>  nodes is distracting; at least  it is so when browsing the
>  Info file.  Is it possible to turn off tutorial references
>  creation for the Info output?

I am not sure that this is possible. All the docs (html, pdf and info)
are generated from the comments in the source files. We definitely
want to have the links in the html version, and I am afraid that our
toolchain is not flexible enough for omitting the links in just one
chapter. But I will check this.

> * While I am  fine with having C macros  with "short" names,
>  if  they are not  in their  namespace problems  may arise.
>  "VECTOR"  is  not a  good  name;  what  about defining  an
>  optional CPP  symbol to let  the macros have an  IG prefix
>  (that is "VECTOR" becomes "IGVECTOR")?
>
>  #ifdef IGRAPH_PREFIX_MACROS
>  #  define IGVECTOR(...) ...
>  #else
>  #  define VECTOR(...) ...
>  #endif

IMHO this is not really a problem, just undefine or redefine VECTOR in
your source files, after including all the igraph headers you need.

> * Skimming through the  headers I see a number  of C macros;
>  these are  a bit of a  problem for me,  because my binding
>  will  use a  Foreign Functions  Interface.  Is  there some
>  plan to offer  the same functionality with "dlopen()"-able
>  C functions, too?  Or are the macros completely optional?

I don't know, do you need them? Sounds like a good idea to define a
function counterpart for every macro.

> * I see that the library implements containers for different
>  base types; it is not clear,  from what I have read in the
>  doc so  far, if the  graph functions accept  containers of
>  any  type  or  only  of  the default  type.   Do  I  loose
>  functionality  if   I  interface  only   the  default-type
>  functions?

The containers for the different base types are generated at compile
type and there is no run-time type check in igraph. You have to supply
the appropriate containers for all functions, otherwise you will get
compile time errors/warnings.

I'll check the things mentioned above....

Gabor

> TIA
> --
> Marco Maggi
>
>
> _______________________________________________
> igraph-help mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/igraph-help
>



-- 
Gabor Csardi <address@hidden>     UNIL DGM




reply via email to

[Prev in Thread] Current Thread [Next in Thread]