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