RE: BeanShell Dialects: proposal for future syntax extension mechanism...

"Robert Parker" <[email protected]> Thu, 3 Feb 2005 16:59:29 -0000
Newsgroups gmane.comp.java.beanshell.devel
Message-ID <6852FD277BE781458985743FAE7D44A762B2F4@tertio_ex2.tertio.com>
I like the idea that Beanshell is a scripting language that is exactly
(or as near as it can be) the same as Java. Simple.

Adding exotic functionality that allows arbitrary extensions to the
syntax, would in my opinion, detract from Beanshell. Even if the
extensions are pluggable and have no impact on the "core" beanshell jar
file, having all these extra bells and whistles cluttering up the web
site/newsgroups etc  will confuse and may ultimately put people off
using Beanshell.

What's so great about re-implementing scripting ideas from other script
languages ? You pick a language because it matches the job you want to
do. Java is not designed to allow arbitrary syntaxes so why try and bend
it that way ?

Keep it simple, easy to understand and easy to "sell"

Robert


-----Original Message-----
From: Patrick Niemeyer [mailto:[email protected]] 
Sent: 02 February 2005 03:23
To: BeanShell Developers
Subject: [Beanshell-dev] BeanShell Dialects: proposal for future syntax
extension mechanism...



Since there has been some talk on the list recently of wishlist items 
and new syntax, I would like to throw out a proposal for discussion.   
This is just thinking ahead a bit.  Finalizing the current release and 
addressing known bugs will have top priority before we add any new 
features.  But I'd like to get some early feedback on this idea.

What I would like to propose is an extensible mechanism for the 
BeanShell language that allows specialized "domain syntax" to be added 
in a way that is aesthetically appealing, Java-like, unambiguous with 
respect to reasonable developments in the Java language, and has almost 
no effect on the language when not used. The syntax mechanism should be 
pluggable, allowing developers to easily import their own syntax 
designs into the language in a way that encourages creativity, but 
still provides tight enough integration with the core language so as to 
be used productively and fluidly.

Here is a brief write-up:

    http://beanshell.org/BeanShellDialects.html

The basic proposal here is to extend the notion of a method invocation 
in Java by allowing one or more arguments to have a "free-form", or 
non-Java syntax. These "domain syntax methods" or "dialects" would be 
responsible for more or less arbitrary parsing of their arguments but 
with certain required semantics that provide for tight integration with 
the surrounding BeanShell script environment. Domain methods would 
extend the concept of the BeanShell eval() method, both providing a 
traditional return value and producing side effects directly in the 
caller's scope. The existing eval() method would become a defacto, 
reflexive, BeanShell dialect.

Check it out and let me know what you think, on or off the list.   Feel 
free to rip it to shreds if you don't like it.


thanks,
Pat



-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time by
over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Beanshell-developers mailing list
Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/beanshell-developers

_______________________________________________________________________

This email has been scanned by the MessageLabs Email Security System.
MLabs systems monitored and maintained by Evolving Internal Support.
_______________________________________________________________________

________________________________________________________________________

This e-mail and any attachments may be confidential and/or legally privileged. If you have received this e-mail and you are not a named addressee, please inform Evolving Systems TIS at tis-gZ/NmiIjn+dWk0Htik3J/[email protected] and then delete the e-mail from your system. If you are not a named addressee you must not use, disclose, distribute, copy, print or rely on this e-mail. To ensure regulatory compliance and for the protection of our clients and business, Evolving Systems may monitor and read e-mails sent to and from its servers. Although Evolving Systems routinely screens for viruses, addressees should scan this e-mail and any attachments for viruses. Evolving Systems makes no representation or warranty as to the absence of viruses in this e-mail or any attachments.
 
Registered Office: One Angel Square, Torrens Street, London. EC1V 1PL. Registered number 2325854
________________________________________________________________________


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl