1. I think this is not possible, but I might be wrong.

2. Tuples have gotten a lot more efficient recently. Others will have to 
comment more on their relative merits vs. immutable composite types, which I 
prefer for explicitness and simpler integration with the dispatch system.

3. No idea about this. 90 MB isn’t much of an issue for the kind of work I do.

4. Blah{A} is a family of types, each of which is different for a specific 
value of A. The untyped version type Blah; a; end has a single type: its `a` 
field always has type Any, which is never tightened in response to data.

5. I think this is possible, but don’t know for sure.

6. Documentation is a major issue that should move forward in the next few 
months. Right now it is not possible to integrate your own functions with the 
help system.

Hope that helps. Others will probably expand on my answers.

 — John

On Jan 12, 2014, at 6:39 PM, Andy M <[email protected]> wrote:

> I've been following and experimenting with Julia for a little while now, and 
> I have encountered questions that I haven't managed to answer by reading or 
> googling. An answer to any of them would be greatly appreciated.
> 
> 1. Is there any way to retrieve the location of the definition of a variable 
> or a type? I know I can use @which to find method definitions, but that's all 
> I know how to find.
> 
> 2. Are tuples are less memory efficient than immutable composite types? If 
> so, why is this? I got the impression that they are after reading various 
> different articles and comments, so maybe I have just misunderstood something.
> 
> 3. Why is Julia's memory usage so high? When I open the interpreter (in 
> linux) it stabilises around 90MB. If I call Pkg.installed(), it jumps to 
> 165MB, and stays there. Calling gc() doesn't reduce it either. Is it an 
> inevitable consequence of the language's design? Or perhaps an issue that is 
> being worked on? Or is it just not that important to the language's target 
> users?
> 
> 4. The documentation suggests that "type Blah; a; end" is less efficient than 
> "type Blah{A}; a::A; end". If so, why does the former not default to the 
> behaviour of the latter? Is it to avoid excess code generation? Or perhaps 
> the latter representation has some undesirable behaviour?
> 
> 5. Is it currently possible to pass a struct to a C function? I found 
> documentation saying that it isn't possible, but there are github issues 
> which suggest the problem has been worked on.
> 
> 6. Is there a way to document a function, method, type, variable or module, 
> such that the documentation can be retrieved in the interpreter? I mean 
> something like javadocs or python docstrings. If not, is something like this 
> going to be added?
> 
> Sorry for asking so many questions all at once. I am considering starting 
> quite a big project in Julia, and I think my timezone has made it difficult 
> to find help in the IRC channel.

Reply via email to