autolisp compiler

#1
hi,

It seems that autodesk will let down definitively VBA in 2013 release and that Intellicad will aim to maintain it, but how far? It's bad news for VBA users as they will probably need to port their code to something like VSTA...
For autolisp users nothing to do! and that's an another good reason to prefer autolisp than vba. But well, an autolisp compiler inside intellicad is still lacking and now appears to be so crucial! It brings me my old unsolved question: why intellicad doesn't seem to bother with an autolisp compiler? If by any luck there is some good fellows hereby that could bring me some lights on this topic, i thanks them in advance.

ps:I already ask this question to many (some how concerned) people but no one never answer to it, may be it's because of the why?

#2
Hi,

An AutoLISP compiler would be great, however, considering the great effort from ITC on releasing a stable and a powerfull product by rewriting IntelliCAD from zero, seems to me that an AutoLISP compiler can wait.

Regarding the VBA, I know that it has been said that IntelliCAD will mantain VBA. However, considering that this technology is completely outdated, I can say that, due to the company policy, CMS IntelliCAD 7 will not include VBA. CMS IntelliCAD 7 will be released only with VSTA.

Regards,
JCAMPOS

#3
Hi JCAMPOS,

thanks for the answer. If what you said is true an autolisp compiler is still not implemented in Intellicad just because of development priority. It's means that there is no stuff like patent or underground agreement that could prevent the bringing of such ability in intellicad. So that's sounds like a great news because may be some day there will be a compiler (hope).

A good question then is when? In how many years do the intellicad consortium will think it's really valuable to develop an autolisp compiler?

I guess that autolisp developers who need security still have to learn VSTA, .NET, COM, or C++ anyway, i am afraid, don't you think so?

#4
Hi,

The answer I gave you was only a thought of mine, not an answer from the IntelliCAD consortium. I'm also a LISP developer and I would love to have a LISP compiler, not exactly because of the lack of an encryption tool for the LISP files, but because of the facility on debugging the routines. Lets hope that this be a reality in the future releases. But, as I said, this is only my hopes and thoughts. I don't know if the consortium has any plans for develop any LISP compiler or not nor if there is any patent or agreement issue or not. What I do know is that there is a commitment on releasing a good, stable and powerful CAD program.

Regarding the security subject, and if security means encryption, then yes, we must rely on .NET, COM or other programming language with compilation services. However, I think that leaving the LISP routines opened to everyone is good. We all learned LISP by opening and exploring LISP files from others, didn't we?

Regards,
JCAMPOS

#5
[i]"However, I think that leaving the LISP routines opened to everyone is good. We all learned LISP by opening and exploring LISP files from others, didn't we? "[/i]

Yes sure I guess you right but need to learn from some good developers! Mainly sources codes that you can find on the web are very confuse with no indentation at all neither any comment. That's a pity because it may discourage new developer by letting them thinking that lisp is an ugly fuzzy bracket language. But this is wrong. Lisp enable to achieve the writing of the most beautiful and simple code possible. VBA (and VSTA...) is so boring and harshy in comparison. A good way to learn autolisp is to read the manual and the examples provided in it. The real main stuff is to understand how to handle the dxf group code, i think, so quiet affordable for every one.

I am a developer too. I develop in pure autolisp under intellicad then i compile for autocad commercial releases. till there will be a compiler, Intellicad users will not able to use many softs as well. A compiler is also needed for speed. The remarks i have read about poor efficiency of the lisp interpreter in intellicad are quiet true. A compiler facility could be a good opportunity to upgrade the whole stuff!

So let's dream of it!

regards,
ckado

#6
ckado,
A good way to learn autolisp is to read the manual and the examples provided in it. The real main stuff is to understand how to handle the dxf group code, i think, so quiet affordable for every one.
You are absolutely right!

Regards,
JCAMPOS

#7
I just clarify a thread I 'd send, modify it and bring it here at a better place, the initial thread about an autolisp compiler and all the benefits, users of the intellicad environement, could get from such a functionnality.

I was writing about some eventual patents or agreements around an autolisp compiler. I don't want to bring the suspicion in every one's mind. I just want to share my own interrogations, get some explanations and perhaps an uprising of consciousness.

- So first of all, I ve checked if there were some patents arround an autolisp compiler. The answer is not, only trademarks own by Delaware Inc companies.

- I checked also if it is difficult to develop an autolisp compiler. The answer is undoubtedly no. You can find many open source lisp compiler on the web. But now I want to say that finally this is not so obvious. Because I think it was easier to launch such project 10 years ago when the technical improvement happened.
Also as JCAMPOS said, the consortium seem to be busy on other technical priority like most certainly "the CLOUD" or integrating the tremendously annoying VSTA.

So actually I am just a little bit sceptic about the happening of an autolisp compiler in intellicad. And I feel a little bit sorry because It may significate that autolisp is on the point to be relieved by some new technologies that do not bring benefits for the end user. Unless the end user is ready to pay for expensive cad's license, beneficial technologies won't be available for him. So for me the intellicad consortium is like a smoke screen at the service of a kind of hegemony and against the antitrust law.

I also go further: why pushing people to spoil their time with dull technolgies while there is already an existing one that just need a small upgrade to be very suitable. :wink:

Re: autolisp compiler

#8
It seems that autodesk will let down definitively VBA in 2013 release and that Intellicad will aim to maintain it, but how far? It's bad news for VBA users as they will probably need to port their code to something like VSTA...
For autolisp users nothing to do! and that's an another good reason to prefer autolisp than vba. But well, an autolisp compiler inside intellicad is still lacking and now appears to be so crucial! It brings me my old unsolved

YES, exists ..............


Upgrade2012 the autoLisp TO new programming language Virtual C+Lisp
Embedding Virtual C+ in autoLisp and VLisp
Embedding math equation in Lisp and VLisp
Virtual C in programs autolisp sources
Downloading from ………..
http://www.puiubrat.3x.ro/adve2011/netilisq.html
----------------- or
http://lisp2arx.3xforum.ro/topic/5/Dowloading_here/

For all CAD's paltforms: ProgeCAD,CADian, ZwCAD, BrisCAD, GstarCAD, FelixCAD, IntelliCAD,
VlaxCompiler features:
1. embedding Virtual C+ in LISP 2012
2. convert lisp to source C++ADS
3. compile virtual C+ to Lisp program
4. convert SLD to Lisp_Grdraw
5. convert Lisp to C+ADS/C+SDS
6. convert C+ to Lisp
7. combining TXT to Lisp
8. combining DCL to Lisp
Last edited by d2010 on Tue Feb 28, 2012 7:13 pm, edited 1 time in total.

#9
@d2010

When I was talking about an AutoLISP compiler I was thinking of compiling AutoLISP source code into FAS format (which is numerical format directly understandable by the autolisp virtual machine).

Apparently you understood a compiler that output real machine code from autoLISP. That is may be possible as there is other lisp language that offer such possibility. But then those compiler need to embed the virtual LISP machine into the executable.

So if what you write is true there is a new software that enable to convert AutoLISP code into C++ SDS code. I am just a little bit very sceptic because it would means that you have the code of the virtual AutoLISP machine. I can't believe that you had access to the code of autocad's one.

Also I can't believe that it is possible to convert in anyway AutoLISP code directly into C++ SDS.

Because then how do you manage all the stuffs that are interpreted at runtime like

Code: Select all

(setq str "1")
(eval 
   (read 
      (strcat 
                 "(+ 1 " 
                 str 
                 ")"
      )
   )
)
Well perhaps i am wrong as i never used C++ SDS and will never used it as it is 99.9% of the time useless for autolisper. Unless of course you need bulk computation.

The main advantage of AutoLISP versus C++, it is the efficiency of programming. What take you 10 hours with C++ just take 30 minutes with autoLISP to be programmed. Don't need to bother with object oriented programming and the tortuous use of pointers. Just lists is enough for every things.

regards,
ckado
Last edited by ckado on Thu Feb 23, 2012 5:05 am, edited 2 times in total.

RE

#10
ckado wrote:@d2010
The main advantage of AutoLISP versus C++, it is the efficiency of programming. What take you 10 hours with C++ just take 30 minutes with autoLISP to be programmed. Just lists is enough for every things.
ckado
Hello!!
My C+ it is very easy C+..
My C+ containt only math equations.. and VlaxCompiler have the programe "converLISP:, and if you use "ConmverLISP: you can import old source LISP into C+ fast mode , you transform old source LISP to C++ fastest......
(Defun dfn_point_triang (lxy / a b c d1 d2 d0 u1 u2 u0 x1 x2 y1 y2 x3 y3 d1 d2)
/*c2s:
a=nth(0,lxy),
b=nth(1,lxy),
c=nth(2,lxy),

d0=distance(b,c),
d1=distance(a,c),
d2=distance(a,b);

u0=(d1*d1-expt(d0,2)+d2*d2)/(d1*2*d2),
u1=(d2*d2-expt(d1,2)+d0*d0)/(d0*2*d2),
u2=(d1*d1-expt(d2,2)+d0*d0)/(d0*2*d1),

//u0=t_ang_acos(u0,"g"),
//u1=t_ang_acos(u1,"g"),
//u2=t_ang_acos(u2,"g");


a=200.0,
u0=(u0>200.0)?u0-a:u0,
u1=(u1>200.0)?u1-a:u1,
u2=(u2>200.0)?u2-a:u2;
a=list(list(u0,u1,u2),
list(d0,d1,d2));
*/
a)


ckado wrote: Don't need to bother with object oriented programming and the tortuous use of pointers.
The compiler "VlaxC" don't have object oriented programming, the VirtualC+LISP is only math's LISP......

#11
so far! what the point to give a sample of some code while I was expecting you to answer my previous remarks but apparently you are just here to make promotion. Please don't spoil the thread.

u1=(u1>200.0)?u1-a:u1,
u2=(u2>200.0)?u2-a:u2;
I can already see syntax error in your code! It won't compile!

Truly I don't understand what you want, neither the way you have chosen to promote this. I didn't test your software because it's too queer :evil: to be true.

adio
cron