help-octave
[Top][All Lists]
Advanced

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

Re: Octave's and Matlab's limitations


From: Sergei Steshenko
Subject: Re: Octave's and Matlab's limitations
Date: Thu, 22 Nov 2012 10:13:05 -0800 (PST)




----- Original Message -----
> From: Francesco Potortì <address@hidden>
> To: Sergei Steshenko <address@hidden>
> Cc: "address@hidden" <address@hidden>; c. <address@hidden>; Jake 
> <address@hidden>
> Sent: Thursday, November 22, 2012 11:49 AM
> Subject: Re: Octave's and Matlab's limitations
> 
>>T hough I agree with you that typically more than one language is
>> necessary, there is _nothing_ Matlab/Octave can do and other language
>> can't with the same ease or even easier and more elegantly and less
>> bug-prone.
> 
> I think that the winning feature of Octave is the index notation and the
> ease to access submatrices with a readable and intuitive syntax.  That
> is, what is known as the Matlab index notation.  Are there any other
> languages that allow such indexing power and clarity?
> 
> -- 
> Francesco Potortì (ricercatore)        Voice:  +39.050.315.3058 (op.2111)
> ISTI - Area della ricerca CNR          Mobile: +39.348.8283.107
> via G. Moruzzi 1, I-56124 Pisa         Skype:  wnlabisti
> (entrance 20, 1st floor, room C71)     Web:    http://fly.isti.cnr.it
>

"Are there any other languages that allow such indexing power and clarity?" - 
this is kinda "narrow" question.

The root cause/problem is that typical languages have predefined syntax and 
just _some_ syntactic freedom is given through operator overloading, e.g. in 
C++ one can access hash values as

some_hash["some_key"]

even though originally [...] construct is  meant for _numeric_ array index 
expressions.


A language which tries to resolve this problem _drastically_ is OCaml (maybe 
there are others, I simply don't know). Specifically, OCaml has 'camlp4' and 
'camlp5' (start from http://en.wikipedia.org/wiki/Camlp4 ).

I once came across an implementation of Python style (i.e. using whitespaces do 
denote code blocks) for OCaml. OCaml community didn't become fascinated with 
it, but it's a different matter.

The main point is that one can implement practically _any_ syntax he/she likes.

Also, error messages are issued in terms of line numbers of the code with 
modified syntax, so debugging is easy - even though the thing is ultimately 
translated into "pure" OCaml.

Regards,
  Sergei.


reply via email to

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