fawlty/idl programming language

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
srvaldez
Posts: 3379
Joined: Sep 25, 2005 21:54

fawlty/idl programming language

Post by srvaldez »

in reference to viewtopic.php?p=260876#p260876 dodicat's mention of the fawlty programming language https://www.flxpert.hu/fl/ and https://www.harrisgeospatial.com/Softwa ... L#language
it looks like a nice interpreter geared for graphic visualization of data.
my only complaint is that you can't just embed the functionality into a FB program, if only there were a static library that one could use in ones programs.
making a web search I found some online documentation on the IDL language, looks very similar to Basic with a touch of Pascal.
as for DISLIN https://www.mps.mpg.de/dislin, I tried it once but it seemed too complicated to me at the time.
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: fawlty/idl programming language

Post by Tourist Trap »

srvaldez wrote: my only complaint is that you can't just embed the functionality into a FB program, if only there were a static library that one could use in ones programs.
Scilab has good capabilities for being controled from the command line it seems. Maybe worth a try. I wonder if we could get XCAS do (and return) some symbolic calculation for us the same way.
https://help.scilab.org/docs/6.0.2/en_US/scilab.html
https://www-fourier.ujf-grenoble.fr/~parisse/giac.html
srvaldez
Posts: 3379
Joined: Sep 25, 2005 21:54

Re: fawlty/idl programming language

Post by srvaldez »

gnuplot does quite well in choosing default values like x and y range and other options to make it easy to use, what I would like to have is the plot functionality of Mathematica in a library, where you can can make a 3d-plot with a simple command like Plot3D[Sin[x + y^2],{x,-3,3}, {y,-2,2}]
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: fawlty/idl programming language

Post by Tourist Trap »

srvaldez wrote:gnuplot does quite well in choosing default values like x and y range and other options to make it easy to use, what I would like to have is the plot functionality of Mathematica in a library, where you can can make a 3d-plot with a simple command like Plot3D[Sin[x + y^2],{x,-3,3}, {y,-2,2}]
I use wxMaxima. It's not the Mathematica of course but I find it easy and useful (and comes for free).

Code: Select all

wxplot3d(x*y, [x,-5,5], [y,-5,5]);
Yet it doesn't answer your demand. I also would like such a library you describe. I don't know what to think about this one, GIAC, since it seems to the library that allows other programs to build on CAS:
I'm not good with external libraries linking and using from inside FB. And here it's some C++ stuff, it may be difficult to interface.
srvaldez
Posts: 3379
Joined: Sep 25, 2005 21:54

Re: fawlty/idl programming language

Post by srvaldez »

Tourist Trap wrote: Giac is a C++ library, it is the CAS computing kernel
I'm not good with external libraries linking and using from inside FB. And here it's some C++ stuff, it may be difficult to interface.
right, only a heavy-weight expert could tackle that one.
aurelVZAB
Posts: 666
Joined: Jul 02, 2008 14:55
Contact:

Re: fawlty/idl programming language

Post by aurelVZAB »

TTrap
I download and tried that wxMaxima
hmmm...i found examples and open file ..but how to run this "thing"...
seems little bit confusing..
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: fawlty/idl programming language

Post by Tourist Trap »

aurelVZAB wrote:TTrap
I download and tried that wxMaxima
hmmm...i found examples and open file ..but how to run this "thing"...
seems little bit confusing..
Hi aurelVZAB,

I have had Maxima on Windows since years, it sometimes crash of course, but it generally does pretty well the job (formal algebra). If you are used to Mathematica it will be a matter of seconds to get started with it. For instance, use SHIFT+ENTER to get a numerical result. It's also recommended to use the menus at first when you don't know the right command. For most usual things, you'll find some menu that helps do the job.
Image

Recently I solved formally the bilinear system of equation for graphics in a couple of minutes with Maxima:
a = ((((x3-x2)*xB+(x2-x3)*xA)*y2+((x1-x3)*xC+(x3-x1)*xA)*y1+((x3-x0)*xC+(x0-x3)*xB)*y0)*y3+(((x2-x1)*xD+(x1-x2)*xA)*y1+((x0-x2)*xD+(x2-x0)*xB)*y0)*y2+((x1-x0)*xD+(x0-x1)*xC)*y0*y1)/((((x1-x0)*x3+(x0-x1)*x2)*y2+((x0-x2)*x3+x1*x2-x0*x1)*y1+((x2-x1)*x3-x0*x2+x0*x1)*y0)*y3+(((x2-x1)*x3-x0*x2+x0*x1)*y1+((x0-x2)*x3+x1*x2-x0*x1)*y0)*y2+((x1-x0)*x3+(x0-x1)*x2)*y0*y1)
b = (((x1-x0)*x3*xC+(x0-x2)*x3*xB+(x2-x1)*x3*xA)*y3+((x0-x1)*x2*xD+(x2*x3-x0*x2)*xB+(x1*x2-x2*x3)*xA)*y2+((x1*x2-x0*x1)*xD+(x0*x1-x1*x3)*xC+(x1*x3-x1*x2)*xA)*y1+((x0*x1-x0*x2)*xD+(x0*x3-x0*x1)*xC+(x0*x2-x0*x3)*xB)*y0)/((((x1-x0)*x3+(x0-x1)*x2)*y2+((x0-x2)*x3+x1*x2-x0*x1)*y1+((x2-x1)*x3-x0*x2+x0*x1)*y0)*y3+(((x2-x1)*x3-x0*x2+x0*x1)*y1+((x0-x2)*x3+x1*x2-x0*x1)*y0)*y2+((x1-x0)*x3+(x0-x1)*x2)*y0*y1)
c = -(((x1-x0)*xC+(x0-x2)*xB+(x2-x1)*xA)*y3+((x0-x1)*xD+(x3-x0)*xB+(x1-x3)*xA)*y2+((x2-x0)*xD+(x0-x3)*xC+(x3-x2)*xA)*y1+((x1-x2)*xD+(x3-x1)*xC+(x2-x3)*xB)*y0)/((((x1-x0)*x3+(x0-x1)*x2)*y2+((x0-x2)*x3+x1*x2-x0*x1)*y1+((x2-x1)*x3-x0*x2+x0*x1)*y0)*y3+(((x2-x1)*x3-x0*x2+x0*x1)*y1+((x0-x2)*x3+x1*x2-x0*x1)*y0)*y2+((x1-x0)*x3+(x0-x1)*x2)*y0*y1)
d = -((((x0*x3-x0*x2)*xB+(x1*x2-x1*x3)*xA)*y2+((x0*x1-x0*x3)*xC+(x2*x3-x1*x2)*xA)*y1+((x1*x3-x0*x1)*xC+(x0*x2-x2*x3)*xB)*y0)*y3+(((x0*x2-x0*x1)*xD+(x1-x2)*x3*xA)*y1+((x0*x1-x1*x2)*xD+(x2-x0)*x3*xB)*y0)*y2+((x1-x0)*x2*xD+(x0-x1)*x3*xC)*y0*y1)/((((x1-x0)*x3+(x0-x1)*x2)*y2+((x0-x2)*x3+x1*x2-x0*x1)*y1+((x2-x1)*x3-x0*x2+x0*x1)*y0)*y3+(((x2-x1)*x3-x0*x2+x0*x1)*y1+((x0-x2)*x3+x1*x2-x0*x1)*y0)*y2+((x1-x0)*x3+(x0-x1)*x2)*y0*y1)
e = ((((x2-x1)*y1+(x0-x2)*y0)*y2+(x1-x0)*y0*y1)*yD+(((x1-x3)*y1+(x3-x0)*y0)*y3+(x0-x1)*y0*y1)*yC+(((x3-x2)*y2+(x0-x3)*y0)*y3+(x2-x0)*y0*y2)*yB+(((x2-x3)*y2+(x3-x1)*y1)*y3+(x1-x2)*y1*y2)*yA)/((((x1-x0)*x3+(x0-x1)*x2)*y2+((x0-x2)*x3+x1*x2-x0*x1)*y1+((x2-x1)*x3-x0*x2+x0*x1)*y0)*y3+(((x2-x1)*x3-x0*x2+x0*x1)*y1+((x0-x2)*x3+x1*x2-x0*x1)*y0)*y2+((x1-x0)*x3+(x0-x1)*x2)*y0*y1)
f = -(((x1-x0)*x2*y2+(x0*x1-x1*x2)*y1+(x0*x2-x0*x1)*y0)*yD+((x0-x1)*x3*y3+(x1*x3-x0*x1)*y1+(x0*x1-x0*x3)*y0)*yC+((x2-x0)*x3*y3+(x0*x2-x2*x3)*y2+(x0*x3-x0*x2)*y0)*yB+((x1-x2)*x3*y3+(x2*x3-x1*x2)*y2+(x1*x2-x1*x3)*y1)*yA)/((((x1-x0)*x3+(x0-x1)*x2)*y2+((x0-x2)*x3+x1*x2-x0*x1)*y1+((x2-x1)*x3-x0*x2+x0*x1)*y0)*y3+(((x2-x1)*x3-x0*x2+x0*x1)*y1+((x0-x2)*x3+x1*x2-x0*x1)*y0)*y2+((x1-x0)*x3+(x0-x1)*x2)*y0*y1)
g = (((x1-x0)*y2+(x0-x2)*y1+(x2-x1)*y0)*yD+((x0-x1)*y3+(x3-x0)*y1+(x1-x3)*y0)*yC+((x2-x0)*y3+(x0-x3)*y2+(x3-x2)*y0)*yB+((x1-x2)*y3+(x3-x1)*y2+(x2-x3)*y1)*yA)/((((x1-x0)*x3+(x0-x1)*x2)*y2+((x0-x2)*x3+x1*x2-x0*x1)*y1+((x2-x1)*x3-x0*x2+x0*x1)*y0)*y3+(((x2-x1)*x3-x0*x2+x0*x1)*y1+((x0-x2)*x3+x1*x2-x0*x1)*y0)*y2+((x1-x0)*x3+(x0-x1)*x2)*y0*y1)
h = -((((x0*x2-x0*x1)*y1+(x0*x1-x1*x2)*y0)*y2+(x1-x0)*x2*y0*y1)*yD+(((x0*x1-x0*x3)*y1+(x1*x3-x0*x1)*y0)*y3+(x0-x1)*x3*y0*y1)*yC+(((x0*x3-x0*x2)*y2+(x0*x2-x2*x3)*y0)*y3+(x2-x0)*x3*y0*y2)*yB+(((x1*x2-x1*x3)*y2+(x2*x3-x1*x2)*y1)*y3+(x1-x2)*x3*y1*y2)*yA)/((((x1-x0)*x3+(x0-x1)*x2)*y2+((x0-x2)*x3+x1*x2-x0*x1)*y1+((x2-x1)*x3-x0*x2+x0*x1)*y0)*y3+(((x2-x1)*x3-x0*x2+x0*x1)*y1+((x0-x2)*x3+x1*x2-x0*x1)*y0)*y2+((x1-x0)*x3+(x0-x1)*x2)*y0*y1)
I use it here: viewtopic.php?f=15&t=24370&p=259135#p259056.
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: fawlty/idl programming language

Post by marcov »

Octave ( the open source matlab compatible) is also quite usable.

During a research period, I hooked up a bunch of batchfiles, .m scripts and some pascal code (*) to script together processing incoming data and make plots. I think I originally mostly started it, because I found a bunch of matlab fft related scripts.

I didn't have much matlab experience, so it took some getting used to, but the result was fairly productive. The idea however was that a co-worker would also adopt it, but that never happened, to this day he still messes with excel sheets, and does long series of repetitive actions when he tries to figure out if some of the dataexports still makes sense.

(*) mostly to decode some binary data and other textfiles to simple files with a float per line that could be loaded into a vector. Here people would of course use FB.
Last edited by marcov on May 21, 2019 13:38, edited 1 time in total.
aurelVZAB
Posts: 666
Joined: Jul 02, 2008 14:55
Contact:

Re: fawlty/idl programming language

Post by aurelVZAB »

Hi TT

I tried all of them Mathworks,octave
this maxima is heavy version of wxPython..right?
I don't say that is bad just i don't have any experience with it.
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: fawlty/idl programming language

Post by Tourist Trap »

aurelVZAB wrote: this maxima is heavy version of wxPython..right?
Hi aurelVZAB,

the Maxima engine itself is something very solid. The front-end maybe is related to wxPython, so the name of wxMaxima for the version with the GUI. I don't use any other versions anyway.

But you are right, wxMaxima can feel slow, and maybe weird when you don't know what you want to do at first. It's just that the last versions of the GUI are a lot more responsive than that it used to be before :)

My preference would be Mathematica over all of them. But I'm no more a student, and have no more cheap access to it. As well as for Mapple .etc..
For numerical stuff we have plenty of choice, for formal algebra it's harder. I used to love DERIVE in the past on DOS, but it's under licence too.
http://maxima.sourceforge.net/
Maxima is a descendant of Macsyma, the legendary computer algebra system developed in the late 1960s at the Massachusetts Institute of Technology. It is the only system based on that effort still publicly available and with an active user community, thanks to its open source nature. Macsyma was revolutionary in its day, and many later systems, such as Maple and Mathematica, were inspired by it.
Post Reply