In article <1120751187.861412.229850 / g49g2000cwa.googlegroups.com>, none <webb.sprague / gmail.com> wrote: >Hi Ruby world. > >I am attaching some pieces of an email conversation I had with Yoshiki >Tsunesada regarding his excellent work rb-gsl. I wanted to start a >discussion about what extensions would make Ruby an intuitive and >powerful math language; I think he has already laid the foundation, >but there are some important pieces that we could add, especially in >the realm of indexing and assigning to matrices (and possibly in the >realm of graphics too). Feel free to comment :) > >********** > >Yoshiki said: > >As mentioned in ruby-talk, by Nobu Nakada, the C coding >in Ruby/GSL seems to be somewhat "old-fashioned". My excuse >is that I studied Ruby-C API in ruby-1.4 ages, and I just >followed a "framework" explained in a Ruby textbook >written in that days. I have not followed the current >framework, although I still don't know what is the >"franework". > Because of this, it is impossible to create a subclass >of a Ruby/GSL class in a Ruby script, while still possible >in C. The definition of the singleton method "new" in C >is the problem, but I don't know how to improve it >(for all the classes in Ruby/GSL). Sorry for inconvenience. >This problem must be improved in a future version of Ruby/GSL, >to be extensible easily from Ruby, not from C. > > You can still implement your new interfaces using C API, >but you may not prefer it. If you show all your requests >you want to do in Ruby/GSL, I will code them in C. I want >to put aside the framework problem for a while, since >it is rather messy to change the coding all for the classes. >******** >I replied: > >I wish I was a better programmer and could implement my extensions in >ruby-gsl's C. > >My extensions involve array indexing and assignment, but if you are >interested in improving the usability of rb-gsl, you might want to look >at Octave (http://www.octave.org) which is kind of a gnu matlab. >S-Plus/R (http://r-project.org) is also a good model, though not as >good in my opinion as Matlab/Octave. > > It seems to me the numerical part of rb-gsl is fantastic, but I am >often faced with assembling and dissassembling large (100 x 1000) >matrices, usually composed of lots of submatrices, and rb-gsl makes >that a little hard compared to other more mathematically oriented >languages. The problem with Octave and R though, is that they are quite >limited for general programming, while Ruby is amazing. So if you want >do some big numerical work and put it online, you are stuck. > >As for recoding rb-gsl in a new framework, it might be worth waiting >until Ruby 2 is out? I wonder. > >I am compiling Octave right now, and I will send you some examples of >what I am interested in being able to do after I have it working. > Regarding your comments about rb-gsl; have you looked at narray? I've not used rb-gsl, but it's been on my list. As far as using Ruby as a mathematical language something like MatLab: That would be very nice. Given that it's quite easy to create DSLs using Ruby one would think it should be possible to create something that would give MatLab a run for it's money (I really don't like MatLab as a langauge). Also consider that you need to tightly integrate graphing (perhaps through gnuplot?). Phil