Are package folder supported?

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Are package folder supported?

Jakob Lombacher
Hi,

I'd like to run some Matlab code with package folders (folders like
'+packageName')

http://www.mathworks.de/help/techdoc/matlab_oop/brfynt_-1.html

It seems that this doesn't work in octave 3.2.4.

Is there a workarround or description about this issue, I couldn't
find anything about this via google?

Thanks

Jakob
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

Michael Goffioul
On Fri, May 25, 2012 at 9:39 AM, Jakob Lombacher <[hidden email]> wrote:
Hi,

I'd like to run some Matlab code with package folders (folders like
'+packageName')

http://www.mathworks.de/help/techdoc/matlab_oop/brfynt_-1.html

It seems that this doesn't work in octave 3.2.4.

Is there a workarround or description about this issue, I couldn't
find anything about this via google?

No, they're not supported.

Michael.


_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

deraltefritz
Is there a technical reason not to support it?
Package folders (together with classdef style classes, but that's a different issue), are the main reasons for me not to switch to octave, even though I really would like to ...
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

Jordi Gutiérrez Hermoso-2
On 27 September 2012 18:20, deraltefritz <[hidden email]> wrote:
> Is there a technical reason not to support it?

It requires work to be done and nobody has done it.

- Jordi G. H.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

Juan Pablo Carbajal
On Fri, Sep 28, 2012 at 3:54 AM, Jordi Gutiérrez Hermoso
<[hidden email]> wrote:

> On 27 September 2012 18:20, deraltefritz <[hidden email]> wrote:
>> Is there a technical reason not to support it?
>
> It requires work to be done and nobody has done it.
>
> - Jordi G. H.
> _______________________________________________
> Help-octave mailing list
> [hidden email]
> https://mailman.cae.wisc.edu/listinfo/help-octave

I may have missed something here. If you are asking with packages with
folders, packages can have subfolders check geometry[1], mechanics[2],
instrument-control[3], ocs[4], and many more... even non
OctaveForge[5]

[1] https://sourceforge.net/p/octave/code/11153/tree/trunk/octave-forge/main/geometry/
[2] https://sourceforge.net/p/octave/code/11153/tree/trunk/octave-forge/main/mechanics/
[3] https://sourceforge.net/p/octave/code/11153/tree/trunk/octave-forge/main/instrument-control/
[4] https://sourceforge.net/p/octave/code/11153/tree/trunk/octave-forge/extra/ocs/
[5] https://files.ifi.uzh.ch/ailab/people/carbajal/DRD/drd.html



--
M. Sc. Juan Pablo Carbajal
-----
PhD Student
University of Zürich
http://ailab.ifi.uzh.ch/carbajal/
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

deraltefritz
I don't have access to Octave at the moment (traveling), but from what
I can see, this does not seem the equivalent of Matlab package
folders.

There, folders are setup like: +geom2d/+private/, and you can call the
function then with: foo = geom2d.private.assertEqual( bar ).

I'm not sure how many people actually use these package folders in
Matlab, but for me they serve as namespaces, and prevent accidentally
overwriting existing Matlab/Octave functions. Of course, if you simply
add all subfolders of +geom2d to the path, the function can still be
called with: foo = assertEqual( bar ). When used as package folders,
only +geom2d is added to the path.

As I'm in the end of my PhD thesis, I have only limited possibilities
to contribute. But if someone can point me to the relevant files in
the main Octave repository, I might give it a go at some point.

On Fri, Sep 28, 2012 at 4:06 AM, Juan Pablo Carbajal
<[hidden email]> wrote:

> On Fri, Sep 28, 2012 at 3:54 AM, Jordi Gutiérrez Hermoso
> <[hidden email]> wrote:
>> On 27 September 2012 18:20, deraltefritz <[hidden email]> wrote:
>>> Is there a technical reason not to support it?
>>
>> It requires work to be done and nobody has done it.
>>
>> - Jordi G. H.
>> _______________________________________________
>> Help-octave mailing list
>> [hidden email]
>> https://mailman.cae.wisc.edu/listinfo/help-octave
>
> I may have missed something here. If you are asking with packages with
> folders, packages can have subfolders check geometry[1], mechanics[2],
> instrument-control[3], ocs[4], and many more... even non
> OctaveForge[5]
>
> [1] https://sourceforge.net/p/octave/code/11153/tree/trunk/octave-forge/main/geometry/
> [2] https://sourceforge.net/p/octave/code/11153/tree/trunk/octave-forge/main/mechanics/
> [3] https://sourceforge.net/p/octave/code/11153/tree/trunk/octave-forge/main/instrument-control/
> [4] https://sourceforge.net/p/octave/code/11153/tree/trunk/octave-forge/extra/ocs/
> [5] https://files.ifi.uzh.ch/ailab/people/carbajal/DRD/drd.html
>
>
>
> --
> M. Sc. Juan Pablo Carbajal
> -----
> PhD Student
> University of Zürich
> http://ailab.ifi.uzh.ch/carbajal/
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

deraltefritz
I really would like to contribute, but I'm more than confused by the immense number of files inside "libinterp", and the non-speaking file names.

Is there any form of documentation how instructions are parsed by Octave?

Or can anyone point me to the relevant files/classes/functions that parse instructions like "foo = function(bar)" ?

Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

Michael Goffioul
On Mon, Jan 28, 2013 at 7:30 AM, deraltefritz <[hidden email]> wrote:
I really would like to contribute, but I'm more than confused by the immense
number of files inside "libinterp", and the non-speaking file names.

Is there any form of documentation how instructions are parsed by Octave?

Or can anyone point me to the relevant files/classes/functions that parse
instructions like "foo = function(bar)" ?

For the record, I'm currently working on adding classdef support for octave, the code is available in the "classdef" branch of octave repository. Support for package folders will be added as part of that work. It's not done yet, but it's among the top items in my TODO list.

Michael.


_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

Jordi Gutiérrez Hermoso-2
In reply to this post by deraltefritz
On 28 January 2013 07:30, deraltefritz <[hidden email]> wrote:
> I really would like to contribute, but I'm more than confused by the immense
> number of files inside "libinterp", and the non-speaking file names.

Which file names? It should be pretty easy to expand a few filenames
in the comments.

> Is there any form of documentation how instructions are parsed by Octave?

The GNU Bison manual. Octave's parser is pretty much a bash rip-off.
We try to give a general, very broad-strokes in etc/HACKING, but this
won't help you figure out much of the parser.

HTH,
- Jordi G. H.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

Jordi Gutiérrez Hermoso-2
In reply to this post by Michael Goffioul
On 28 January 2013 09:21, Michael Goffioul <[hidden email]> wrote:

> On Mon, Jan 28, 2013 at 7:30 AM, deraltefritz <[hidden email]> wrote:
>>
>> I really would like to contribute, but I'm more than confused by the
>> immense
>> number of files inside "libinterp", and the non-speaking file names.
>>
>> Is there any form of documentation how instructions are parsed by Octave?
>>
>> Or can anyone point me to the relevant files/classes/functions that parse
>> instructions like "foo = function(bar)" ?
>
>
> For the record, I'm currently working on adding classdef support for octave,
> the code is available in the "classdef" branch of octave repository. Support
> for package folders will be added as part of that work. It's not done yet,
> but it's among the top items in my TODO list.

Oh, btw, let me reiterate an invitation to come hang out in #octave in
Freenode if you're interested in Octave development or use. Goffioul
has been hanging out there recently as he works on classdef. :-)

- Jordi G. H.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

deraltefritz
In reply to this post by Michael Goffioul


On Mon, Jan 28, 2013 at 3:21 PM, Michael Goffioul [via Octave] <[hidden email]> wrote:
On Mon, Jan 28, 2013 at 7:30 AM, deraltefritz <[hidden email]> wrote:
I really would like to contribute, but I'm more than confused by the immense
number of files inside "libinterp", and the non-speaking file names.

Is there any form of documentation how instructions are parsed by Octave?

Or can anyone point me to the relevant files/classes/functions that parse
instructions like "foo = function(bar)" ?

For the record, I'm currently working on adding classdef support for octave, the code is available in the "classdef" branch of octave repository. Support for package folders will be added as part of that work. It's not done yet, but it's among the top items in my TODO list.

Michael.

Great to hear that ! 
I'll check out the "classdef" branch, and can provide feedback if (and when) you want. Is there anything I need to pay attention to (for instance, when building)? 
What's the current status of classdef support?

All the best,
Fritz


 


_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave



If you reply to this email, your message will be added to the discussion below:
http://octave.1599824.n4.nabble.com/Are-package-folder-supported-tp4630147p4649194.html
To unsubscribe from Are package folder supported?, click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

deraltefritz
In reply to this post by Jordi Gutiérrez Hermoso-2


On Mon, Jan 28, 2013 at 3:29 PM, Jordi Gutiérrez Hermoso-2 [via Octave] <[hidden email]> wrote:
On 28 January 2013 07:30, deraltefritz <[hidden email]> wrote:
> I really would like to contribute, but I'm more than confused by the immense
> number of files inside "libinterp", and the non-speaking file names.

Which file names? It should be pretty easy to expand a few filenames
in the comments.
 
What I meant is that for someone who's interested in adding functionality to Octave, it's appears difficult to understand the big picture without documentation or comments inside the source code. 
For instance, there are about 500 files in 8 subfolders of "libinterp", and to me it's not immediately obvious where to start looking when trying to understand how Octave works underneath. 
That's not a complaint by the way, and maybe I'm just overseeing some sort of documentation that explains how everything works together, and which files/classes are essential to understand the whole thing ?

All the best,
Fritz



_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave



If you reply to this email, your message will be added to the discussion below:
http://octave.1599824.n4.nabble.com/Are-package-folder-supported-tp4630147p4649195.html
To unsubscribe from Are package folder supported?, click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

Jordi Gutiérrez Hermoso-2
On 29 January 2013 03:12, deraltefritz <[hidden email]> wrote:
> What I meant is that for someone who's interested in adding functionality to
> Octave, it's appears difficult to understand the big picture without
> documentation or comments inside the source code.

If you can give a specific complaint about which filenames you don't
understand, we can give a specific solution and explain those
filenames and their contents better.

Or do you just mean everything is obscure and you're unable to figure
out anything? That's more difficult to fix.

- Jordi G. H.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Are package folder supported?

Michael Goffioul
In reply to this post by deraltefritz
On Tue, Jan 29, 2013 at 3:04 AM, deraltefritz <[hidden email]> wrote:


On Mon, Jan 28, 2013 at 3:21 PM, Michael Goffioul [via Octave] <[hidden email]> wrote:

On Mon, Jan 28, 2013 at 7:30 AM, deraltefritz <[hidden email]> wrote:
I really would like to contribute, but I'm more than confused by the immense
number of files inside "libinterp", and the non-speaking file names.

Is there any form of documentation how instructions are parsed by Octave?

Or can anyone point me to the relevant files/classes/functions that parse
instructions like "foo = function(bar)" ?

For the record, I'm currently working on adding classdef support for octave, the code is available in the "classdef" branch of octave repository. Support for package folders will be added as part of that work. It's not done yet, but it's among the top items in my TODO list.

Michael.

Great to hear that ! 
I'll check out the "classdef" branch, and can provide feedback if (and when) you want. Is there anything I need to pay attention to (for instance, when building)? 

No. It should build as the default branch.
 
What's the current status of classdef support?

At the moment, the following features are supported (non exhaustive):
classdef file parsing
- handle/value class semantic
class inheritance
- property/method access with dot-notation
- property/method access restriction (public, protected, private, cell array of classes)
- property accessors
- array of objects
- static methods / constant properties

Michael.


_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave