ANN: Tao Scripting Language 0.8.5 beta released!

L

Limin Fu

Dear all,

I am glad to announce in this mailing list that the lastest version
of a new scripting language has come out.

Welcome to try it out.

Comments are welcome.

Suggestions are appreciated.

=======================
Here are some details:
=======================

Design Goals:
1. Simple and efficient.
2. Integrate nice features of other languages whenever possible.

Implementation language: C++ with STL.

Designer: Fu Limin
Email: fu [dot] limin [dot] tao [at] gmail.com

Key features have been supported:

1. Dynamic-typing variables, supporting complex data structures
such as array/list, hash/dictionary and matrix etc.

2. Object-oriented programming ( multi-inheritance not supported
yet ).

3. Basic string regular expression matching.

4. Automatic garbage collection capable of collecting cyclically
referenced objects.

5. Numeric data types: complex number and matrix, and their basic
operations.

6. Convenient namespacing and dynamic creation of subroutines and
classes.

7. Dynamic loading of C/C++ modules ( not complete, but enough for
playing with it ^_^ ).

8. An embedded tiny XML parser.

ToBeDone:
More string operations, multi-inheritance of classes, improvements
on C/C++ module loading, more on regular expression matching and
possible optimizations etc.

Documentation:

http://taoscript.sourceforge.net/brief_tao.php

Sample scripts:

http://taoscript.sourceforge.net/sample.php

Download:
http://taoscript.sourceforge.net/downloads.php

Best regards,

Limin

--
Homepage for Tao Language:
http://taoscript.sourceforge.net

Tao Language project at sourceforge.net:
http://sourceforge.net/projects/taoscript
 
L

Limin Fu

Dear Claudio,

Thank you for your kind testing, suggestions and encourages.
I'm glad that you like it.

For that problem in the Lexer, it can be corrected without increasing
the size. I will do it soon.

Best regards,

Limin


Dear Limin,

Tao Script with its 300 KByte of code is so small,
that one just must love it forgiving all its baby
troubles.

After changes (see below) to the code in taoModule.cpp
necessary because my compiler claimed repeated definition
of 'ref' e.g. in the section:
if(TaoReference *ref2a=inNameSpace->findDataShared(name) ){
myData[name]=ref2a;
outNameSpace->nsData[name]=ref2a;
}else{
TaoShareRefer*ref2b=new TaoShareRefer();
myData[name]=ref2b;
outNameSpace->nsDataShared[name]=ref2b;
outNameSpace->nsData[name]=ref2b;
}
I was able to compile the code with
Microsoft Visual C++ .NET 2003 on W2K
(create an empty .NET project, add all source
code files, compile and be happy :)

Trying the examples provided on the
homesite of Tao Script which run ok as they
are, I found, that print("### \n") failes due to
the way the Lexer works beeing not able to
proper handle string literals.
One just can't probably use any of "#'" "//" "/*"
in strings because the lexer strips the
comments before it analyses the source
to handle content of the string literals.

Hope this comment helps you to continue
the well done work on it.
I had fun with it because of its size, so
from my point of view please try to
keep the project as small as possible, so
that it remains easy to check out the entire
code.
Maybe it is even a good idea to keep
the problem with the strings as a "feature"
in order to keep the Lexer as simple as
possible?

Best regards

Claudio

Limin Fu said:
Dear all,

I am glad to announce in this mailing list that the lastest version
of a new scripting language has come out.

Welcome to try it out.

Comments are welcome.

Suggestions are appreciated.

=======================
Here are some details:
=======================

Design Goals:
1. Simple and efficient.
2. Integrate nice features of other languages whenever possible.

Implementation language: C++ with STL.

Designer: Fu Limin
Email: fu [dot] limin [dot] tao [at] gmail.com

Key features have been supported:

1. Dynamic-typing variables, supporting complex data structures
such as array/list, hash/dictionary and matrix etc.

2. Object-oriented programming ( multi-inheritance not supported
yet ).

3. Basic string regular expression matching.

4. Automatic garbage collection capable of collecting cyclically
referenced objects.

5. Numeric data types: complex number and matrix, and their basic
operations.

6. Convenient namespacing and dynamic creation of subroutines and
classes.

7. Dynamic loading of C/C++ modules ( not complete, but enough for
playing with it ^_^ ).

8. An embedded tiny XML parser.

ToBeDone:
More string operations, multi-inheritance of classes, improvements
on C/C++ module loading, more on regular expression matching and
possible optimizations etc.

Documentation:

http://taoscript.sourceforge.net/brief_tao.php

Sample scripts:

http://taoscript.sourceforge.net/sample.php

Download:
http://taoscript.sourceforge.net/downloads.php

Best regards,

Limin

--
Homepage for Tao Language:
http://taoscript.sourceforge.net

Tao Language project at sourceforge.net:
http://sourceforge.net/projects/taoscript


--
Homepage for Tao Language:
http://taoscript.sourceforge.net

Tao Language project at sourceforge.net:
http://sourceforge.net/projects/taoscript
 
C

Claudio Grondi

Dear Limin,

Tao Script with its 300 KByte of code is so small,
that one just must love it forgiving all its baby
troubles.

After changes (see below) to the code in taoModule.cpp
necessary because my compiler claimed repeated definition
of 'ref' e.g. in the section:
if(TaoReference *ref2a=inNameSpace->findDataShared(name) ){
myData[name]=ref2a;
outNameSpace->nsData[name]=ref2a;
}else{
TaoShareRefer*ref2b=new TaoShareRefer();
myData[name]=ref2b;
outNameSpace->nsDataShared[name]=ref2b;
outNameSpace->nsData[name]=ref2b;
}
I was able to compile the code with
Microsoft Visual C++ .NET 2003 on W2K
(create an empty .NET project, add all source
code files, compile and be happy :)

Trying the examples provided on the
homesite of Tao Script which run ok as they
are, I found, that print("### \n") failes due to
the way the Lexer works beeing not able to
proper handle string literals.
One just can't probably use any of "#'" "//" "/*"
in strings because the lexer strips the
comments before it analyses the source
to handle content of the string literals.

Hope this comment helps you to continue
the well done work on it.
I had fun with it because of its size, so
from my point of view please try to
keep the project as small as possible, so
that it remains easy to check out the entire
code.
Maybe it is even a good idea to keep
the problem with the strings as a "feature"
in order to keep the Lexer as simple as
possible?

Best regards

Claudio

Limin Fu said:
Dear all,

I am glad to announce in this mailing list that the lastest version
of a new scripting language has come out.

Welcome to try it out.

Comments are welcome.

Suggestions are appreciated.

=======================
Here are some details:
=======================

Design Goals:
1. Simple and efficient.
2. Integrate nice features of other languages whenever possible.

Implementation language: C++ with STL.

Designer: Fu Limin
Email: fu [dot] limin [dot] tao [at] gmail.com

Key features have been supported:

1. Dynamic-typing variables, supporting complex data structures
such as array/list, hash/dictionary and matrix etc.

2. Object-oriented programming ( multi-inheritance not supported
yet ).

3. Basic string regular expression matching.

4. Automatic garbage collection capable of collecting cyclically
referenced objects.

5. Numeric data types: complex number and matrix, and their basic
operations.

6. Convenient namespacing and dynamic creation of subroutines and
classes.

7. Dynamic loading of C/C++ modules ( not complete, but enough for
playing with it ^_^ ).

8. An embedded tiny XML parser.

ToBeDone:
More string operations, multi-inheritance of classes, improvements
on C/C++ module loading, more on regular expression matching and
possible optimizations etc.

Documentation:

http://taoscript.sourceforge.net/brief_tao.php

Sample scripts:

http://taoscript.sourceforge.net/sample.php

Download:
http://taoscript.sourceforge.net/downloads.php

Best regards,

Limin

--
Homepage for Tao Language:
http://taoscript.sourceforge.net

Tao Language project at sourceforge.net:
http://sourceforge.net/projects/taoscript
 
R

Rocco Moretti

Limin said:
Dear all,

I am glad to announce in this mailing list that the lastest version
of a new scripting language has come out.

Since you chose to announce it in this mailing list/newsgroup, may I
suggest that a comparison with Python is in order?

Since it is a new scripting language, I'm not suggesting a language war,
but rather a simple statement of how Tao differs from Python, and what
"itch" you were trying to scratch when you designed your new language.
Basically, how does your design philosophy differ from that of Guido?
Where did you go left when Python went right?

(Congrats on beating the technical challenge of designing and
implementing a programming language - now's your chance to sell us on
it. :)
 
L

Limin Fu

Since you chose to announce it in this mailing list/newsgroup, may I
suggest that a comparison with Python is in order?

To make a reasonable comparison with Python, I need to spend more time
to investigate into python, since so far I only know some basic things
in Python :). But I can ensure that Tao is very different from
Python, and it will be more different in the future.
Since it is a new scripting language, I'm not suggesting a language war,
but rather a simple statement of how Tao differs from Python, and what
"itch" you were trying to scratch when you designed your new language.

Well, I started to design this language, because I work on
bioinformatics and I hardly found any language that really satisfied
me. I found that, a language with simple syntax, convenient text
processing functionality, powerful numeric computation capability, and
simple C/C++ interfaces would be very useful in this field.

Perl is got out immediately due to its complicated syntax and many
possible traps(though there are still many people using it in this
field, I think it is due to historical reasons). Though Python is
great in many aspects, its syntax is also something I don't really
like, and I think its interface to C/C++ is not simple enough. R
language is not well designed according to me, though it's more
popularly used in bioinformatic than Python. So I decided to design a
new language. Though that goal is not reached yet, it is not
unreachable either.
Basically, how does your design philosophy differ from that of Guido?

I think I agree much of the design philosophy of Guido. But it is just
a kind of guide line, it doesn't imply anything about the structure of
the language and the interpreter. So the same philosophy can come out
completely different language.
Where did you go left when Python went right?

I will only point out a few such places.

1. Tao use uniform parenthesis symbol for both list/array and
hash/dictionary, that is []. While in Python, [] is used for list, and
{} is used for dictionary.

2. In Tao, there is no "self" argument in class methods as in Python.
And the class syntax of Tao is more similar to that of C++.

3. Some Matlab features regarding numeric types, multi returned
values in functions and multi assignment etc. are integrated into Tao.

4. Tao provides a very convenient way of declaring array/list which,
to the best of my knowledge, is not presented in any other language.
That is,
a=[10][5] : value/arith/function;
which will create a 10x5 array with elements resulted from evaluation
of the right side of ":".

Best regards,

Limin

--
Homepage for Tao Language:
http://taoscript.sourceforge.net

Tao Language project at sourceforge.net:
http://sourceforge.net/projects/taoscript
 
L

Limin Fu

I only looked at languages which are more often used in
bioinformatics, at that time I didn't heard about Lua. I knew it about
2 or 3 months after I began to implement Tao. For Io, this is my first
time to hear about it :)

Cheers,

Limin


You bet.

Have you looked at Lua?

http://www.lua.org/about.html

Or perhaps Io?

http://www.iolanguage.com/About/

Cheers


--
Homepage for Tao Language:
http://taoscript.sourceforge.net

Tao Language project at sourceforge.net:
http://sourceforge.net/projects/taoscript
 
P

PA

at that time I didn't heard about Lua. I knew it about
2 or 3 months after I began to implement Tao.

So, compared to Lua for example, what does Tao brings to the table that
you found worthwhile?

Cheers
 
L

Limin Fu

I should admit I only read a little bit very simple introductions of
Lua, so I can't answer you question exactly now. Maybe you can found
the answer by yourself by spending some minutes to read the brief
documentation of Tao.

Depending how much time I have, probably I will make a comparison
between Tao and other languages, and make it available in the website
of Tao. But it will not be soon.

Cheers


So, compared to Lua for example, what does Tao brings to the table that
you found worthwhile?

Cheers


--
Homepage for Tao Language:
http://taoscript.sourceforge.net

Tao Language project at sourceforge.net:
http://sourceforge.net/projects/taoscript
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,185
Latest member
GluceaReviews

Latest Threads

Top