Dear Community,
Since releasing the Next Scripting Framework (NSF) 2.0b5, we have
received more feedback from early adopters. Many thanks for the
helpful and the constructive comments!
Since the release of 2.0b5, there have been more than 450 commits to
our code repository. The implementation is very stable and has been
used for more than two years in production of our large-scale,
multi-threaded web environment inside NaviServer. Most of the changes
happened in NX and, therefore, on the NSF scripting level, without the
need to modify the NSF C layer. The implementation of XOTcl 2 has
changed very little. The Next Scripting Framework was tested with Tcl
8.5.17 and Tcl 8.6.2 on Linux, Mac OS X, and in Windows enviroments
(MinGW, VC12).
Below are the most notable differences in NSF/NX 2.0 final relative to
2.0b5:
a) Pluralism reform:
Use plural names for structural features of objects and classes,
whenever potentially multiple elements are provided or
returned. This rule applies now consistently throughout NX. Here are
examples from the introspection interface:
/cls/ info superclasses
/cls/ info subclasses
/cls/ info mixins
/obj/ info object mixins
/cls/ info filters
/obj/ info object filters
Similarly, there the plural is used for configure options, e.g.:
nx:create create Foo -superclasses {C D}
Note that abbreviations are allowed as well:
nx:create create Foo -superclass {C D}
b) Dispatch by arity is gone in NX.
XOTcl and earlier versions of NX supported a dispatch-by-arity
mechanism for relation slots:
o mixin; # arity 1: get value
o mixin M1; # arity 2: set value
o mixin add M1; # arity 3: use arg 2 for slot methods
The problem with this approach is that it is not straight forward
to provide meaningful error messages. In addition, one might be
irritated about the result of e.g. "o mixin add" (leaving out a
class to be added). In the final release, we removed the entailed
complexity by relying on a fixed arity of 3 (last form above) for
the default slot methods:
add, clear, delete, get, guard, set
c) Support for querying computed parameters of methods.
Earlier versions of NX had several methods to query the parameters
for configuring objects of different classes. The configure
parameters are determined by the inheritance order in the class
hierarchy and are relevant during object creation (e.g.
methods "create" or "new").
Now, these configure parameter can be queried using the standard
parameter introspection interface for e.g. "new", "create", or
"configure", such as in:
nx::Object info lookup parameters create
The above command call returns the parameters which can be provided
to an "nx::Object create ..." invocation. Furthermore, these
computed parameters are returned in error messages.
d) Support abbreviations of non-positional parameter names (for plain
methods, nsf::proc, or "... configure...").
To avoid surprises, especially for computed argument lists, the
minimal number of optional trailing characters is set to 4.
e) Updated MongoDB interface:
The interface was extended in various ways and is now based on
mongo-c-driver 1.0.2 and was tested with MongoDB 2.6.5. The driver
can be used nicely with e.g. Naviserver by using the c-driver
supported connection pool.
f) API changes:
nx::Object info lookup parameters create
/cls/ mixins ...
/obj/ object mixins ...
/cls/ filters ...
/obj/ object filters ...
Simplified info methods for interceptors:
/cls/ info mixin classes -> /cls/ info mixins
/cls/ info filter methods -> /cls/ info filters
/obj/ info object mixin classes -> /obj/ info object mixins
Dropped methods:
/cls/ info mixin guard
/obj/ info object mixin guard
/cls/ info filter guard
/obj/ info object filter guard
Instead, use the "-guards" option of "... info ?object?
mixins|filters ...".
Added methods:
/cls/ mixins classes
/cls/ filters methods
/obj/ object filters methods
/obj/ object mixins classes
g) Added API documentation:
Using tcllib's doctools markup and dtplite, we now provide manpages
for:
nx::Object
nx::Class
nx::current
nx::next
nx::configure
The Next Scripting Framework 2.0.0 (containing NX and XOTcl 2.0.0) can
be obtained from https://next-scripting.org/
The detailed ChangeLog can be downloaded from
https://next-scripting.org/xowiki/download/file/ChangeLog-2.0b5-2.0.0
Best regards
- Gustaf Neumann
- Stefan Sobernig
Hello XOTcl Developers, fyi ...
23rd Annual Tcl/Tk Conference (Tcl'2016)
http://www.tcl.tk/community/tcl2016/
November 14 - 18, 2016
Crowne Plaza Houston River Oaks
2712 Southwest Freeway, 77098
Houston, Texas, USA
Important Dates:
Abstracts and proposals due September 12, 2016
Notification to authors September 19, 2016
WIP and BOF reservations open August 22, 2016
Author materials due October 24, 2016
Tutorials Start November 14, 2016
Conference starts November 16, 2016
Email Contact: tclconference(a)googlegroups.com
Submission of Summaries
Tcl/Tk 2016 will be held in Houston, Texas, USA from November 14, 2016 to November 18, 2016.
The program committee is asking for papers and presentation proposals
from anyone using or developing with Tcl/Tk (and extensions). Past
conferences have seen submissions covering a wide variety of topics
including:
* Scientific and engineering applications
* Industrial controls
* Distributed applications and Network Managment
* Object oriented extensions to Tcl/Tk
* New widgets for Tk
* Simulation and application steering with Tcl/Tk
* Tcl/Tk-centric operating environments
* Tcl/Tk on small and embedded devices
* Medical applications and visualization
* Use of different programming paradigms in Tcl/Tk and proposals for new
directions.
* New areas of exploration for the Tcl/Tk language
Submissions should consist of an abstract of about 100 words and a
summary of not more than two pages, and should be sent as plain text
to tclconference(a)googlegroups.com no later than September 12, 2016. Authors of accepted
abstracts will have until October 24, 2016 to submit their final
paper for the inclusion in the conference proceedings. The proceedings
will be made available on digital media, so extra materials such as
presentation slides, code examples, code for extensions etc. are
encouraged.
Printed proceedings will be produced as an on-demand book at lulu.com
The authors will have 30 minutes to present their paper at
the conference.
The program committee will review and evaluate papers according to the
following criteria:
* Quantity and quality of novel content
* Relevance and interest to the Tcl/Tk community
* Suitability of content for presentation at the conference
Proposals may report on commercial or non-commercial systems, but
those with only blatant marketing content will not be accepted.
Application and experience papers need to strike a balance between
background on the application domain and the relevance of Tcl/Tk to
the application. Application and experience papers should clearly
explain how the application or experience illustrates a novel use of
Tcl/Tk, and what lessons the Tcl/Tk community can derive from the
application or experience to apply to their own development efforts.
Papers accompanied by non-disclosure agreements will be returned to
the author(s) unread. All submissions are held in the highest
confidentiality prior to publication in the Proceedings, both as a
matter of policy and in accord with the U. S. Copyright Act of 1976.
The primary author for each accepted paper will receive registration
to the Technical Sessions portion of the conference at a reduced rate.
Other Forms of Participation
The program committee also welcomes proposals for panel discussions of
up to 90 minutes. Proposals should include a list of confirmed
panelists, a title and format, and a panel description with position
statements from each panelist. Panels should have no more than four
speakers, including the panel moderator, and should allow time for
substantial interaction with attendees. Panels are not presentations
of related research papers.
Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather
sessions (BOFs) are available on a first-come, first-served basis
starting in August 22, 2016. Specific instructions for reserving WIP
and BOF time slots will be provided in the registration information
available in August 22, 2016. Some WIP and BOF time slots will be held open
for on-site reservation. All attendees with an interesting work in
progress should consider reserving a WIP slot.
Registration Information
More information on the conference is available the conference Web
site (http://www.tcl.tk/community/tcl2016/) and will be published on
various Tcl/Tk-related information channels.
To keep in touch with news regarding the conference and Tcl events in
general, subscribe to the tcl-announce list. See:
http://code.activestate.com/lists/tcl-announce to subscribe to the
tcl-announce mailing list.
Conference Committee
* Andreas Kupries Hewlett Packard Enterprise
* Arjen Markus Deltares
* Brian Griffin Mentor Graphics
* Clif Flynt Noumena Corp
* Gerald Lester KnG Consulting LLC
* Joe Mistachkin Mistachkin Systems
* Ronald Fox CAEN Technologies
NSCL @ Michigan State University
Contact Information tclconference(a)googlegroups.com
Tcl'2016 would like to thank those who are sponsoring the conference:
* Mentor Graphics
* Tcl Community Association