ObjectScript / News: Recent posts

oscript v2.0

the final release, at last... windows binaries to follow shortly

See http://objectscript.sourceforge.net/?docs/release-notes.html

Posted by Rob Clark 2003-12-01

oscript v2.0-pre5

yet another snapshot on the road to v2.0... this will probably be the last snapshot before the final release, as things are getting pretty close.

Compared to -pre1, this release has: better stack traces (that are now correct in all cases), better performance, and some improvements in the editor (fix indenting rules, and bookmarks), etc

See http://objectscript.sourceforge.net/?docs/release-notes.html

Posted by Rob Clark 2003-11-05

oscript v2.0-pre1

first pre-release snapshot for v2.0. Most user visible changes to the language are complete, and things seem very stable, but there are still some behind-the-scenes cleanups and optimizations that aren't finished yet.

See http://objectscript.sourceforge.net/?docs/release-notes.html

Posted by Rob Clark 2003-10-05

working towards 2.0, nightly snapshots

Well, I've been working on what will eventually become oscript v2.0 for a little while now, and while I'm not quite ready to call it done, I have setup nightly snapshots of the trunk so you can have a go at it:

https://icandy.homeunix.org/snapshot/

Version 2.0 is concentrating on new ObjectScript features and performance. Major features that have been implemented and merged to the trunk so far:

+ iterator for loop syntax: for( var o : set ) ...
+ mixin "mixes in" an object into the current
scope/object
+ regular expression suport modeled after
JavaScript 2.0
+ java Map/List object access using array index
syntax (a java.util.Map behaves as an associative
array, and java.util.List behaves as an array)
+ java object bean property access... read more

Posted by Rob Clark 2003-09-22

oscript v1.5.2

Add "New File" button in file chooser. Bug fixes, refactoring, performance improvements. See release notes:

http://objectscript.sourceforge.net/?docs/release-notes.html

Posted by Rob Clark 2003-09-01

oscript v1.5.1

windows .exe build, minor bug fixes (mostly to do with release process), etc.

See release notes:
http://objectscript.sourceforge.net/?docs/release-notes.html

Posted by Rob Clark 2003-08-06

oscript v1.5

+ XML-RPC client support (XmlRpcClient, XmlRpcClientLite), and server (XmlRpcHandler). See http://objectscript.sourceforge.net/?docs/osug.html#XML-RPC
+ bug fixes
+ re-organize ObjectScript User's Guide
+ add Chimera Overview/Developer's Guide

See the release notes: http://objectscript.sourceforge.net/?docs/release-notes.html

Posted by Rob Clark 2003-08-04

oscript v1.4

ObjectScript v1.4 contains both bug fixes and new features. It includes a wizard for creating a new plugin, and a wizard for creating a JPanel layout using the WYSIWYG GUI editor JUI (http://jui.sourceforge.net). It also updates the scripting engine to use the latest version of BCEL (v5.1), and fixes a problem with how try/catch/finally statements are compiled to bytecode.

See the release notes: http://objectscript.sourceforge.net/?docs/release-notes.html... read more

Posted by Rob Clark 2003-07-16

oscript v1.3.2

ObjectScript v1.3.2 is mainly a bug fix release, with some user interface refinements: menubar accel keys work now; better macosx integration, for mac users. For example, you can launch the IDE by double clicking on a .os file in the finder. (BTW, anyone out there wants to show me how to make a java app do that on windows?); lots of little bug fixes

see the release notes on homepage for more details: http://objectscript.sourceforge.net

Posted by Rob Clark 2003-06-20

oscript v1.3

oscript (ObjectScript):
+ obscure bug fixes
+ .os to .html syntax colorifier
+ osbook: tool to generate User's Guide "books" from .xml
+ script files can begin with "#!"
+ pkg.system and pkg.fs provide access to scripting engine
provided system and filesystem (respectively) APIs in a
way that won't change as scripting engine changes (ie.
a facade pattern.)
+ Proxy object, see:
http://objectscript.sourceforge.net/docs/osug.html#Proxy Objects... read more

Posted by Rob Clark 2003-06-09

oscript v1.2

Contains:
oscript - the ObjectScript scripting engine
ode - the IDE (src editor, debugger)
chimera - application framework

Release Notes:
+ editor:
- disable cursor while popup menu is active, so accessing menu items
by click-and-hold-and-drag doesn't change text selection
- bug fix: returning from escape-mode would create a duplicate
function-tree tab.
- bug fix: undos were broke
- you can now interrupt the thread associated with a script console
by typing CTRL-C, or selecting "Interrupt" from the view menu
+ oscript:
- some scope changes... see release notes: https://sourceforge.net/project/shownotes.php?group_id=16670&release_id=160890
- fixed bug that was causing problems when running from a directory
that had two or more spaces in the path. This was causing problems
on windows, running from the desktop or from webstart, since in
both cases the path usually (depending on windows flavor) had two
or more spaces in the path
- performance optimizations: changing how symbols are tracked, and a
custom hashtable implementation are good for an (approx) 10% speed-
up, plus lower memory usage, and faster startup time for code that
has already been compiled and stored in cache.jar
- make function instances more lightweight
+ chimera:
- watchdog timer for registry thread, makes debugging easier when
developing in the chimera environment... previously if a registry
subscriber callback hung, it would cause many seemingly confusing
errors (unable to open new windows, etc)
- the stdout/stderr output console window can be disabled from the
preferences window (under "add ons")... read more

Posted by Rob Clark 2003-05-22

oscript v1.1

Contains:
oscript - the ObjectScript scripting engine
ode - the IDE (src editor, debugger)
chimera - application framework

Release Notes:
+ performance
- benchmarking... and as a result, some optimizations where made (http://objectscript.sourceforge.net/bench/bench.html)
- add "callee" to grammar
- shared member index tables
+ WebStart support, for one click launching of ODE from web page
+ bug fixes related to "static"
+ output console plugin bug fixes
+ cut/copy/paste icons, menubar entries for editor
+ document WeakReference is user's guide
+ fix obscure ServiceFactory race condition
+ fix startup race condition with code using windowManager
+ make it easier to debug errors at startup... talkback plugin should check if user interface is visible

Posted by Rob Clark 2003-05-06

oscript v1.0.6

Contains:
oscript - the ObjectScript scripting engine
ode - the IDE (src editor, debugger)
chimera - application framework

Release Notes:
+ splash screen (oohhh, aaaahhh)
+ editor
- function tree: bug fixes
- jump-to-* commands remember prev declaration when user
performs command and cursor is not over a variable
declaration/reference
- rename-reference command renames variable/function and all
references to that symbol (in same file) (uses scope rules, like
jump-to-* commands, so will not be confused by symbols declared
in different scopes but with same name)
+ fix a couple of memory leaks, paritially related to file browser
drag-and-drop support
+ introduce scipt type: WeakReference which is a proxy for it's
referent (without preventing the referent's garbage collection) until
the referent is GC'd, at which point it becomes a proxy for null

Posted by Rob Clark 2003-04-24

server

the subversion (src code) & scarab (issue tracking) servers will be down for a few minutes for upgrades and maintainence

Posted by Rob Clark 2003-03-05

1.0

this is the first release that includes ObjectScript Development Environment (ODE), the IDE that I have been working on for a while now. Have a look at the home page for some screen shots, docs, etc.

Posted by Rob Clark 2003-01-25

update

I've updated the homepage (again, for those who noticed that I updated it last weekend). I've setup up publicly accessible issue tracking and src code version tracking... see the homepage for details.

Also, I've got the green light for releasing the src code for an ObjectScript IDE and application framework under the GPL license. I need to do some cleanup and rearrangement of src tree before it is ready to release, but I expect that it will be in the next release in a week or two

Posted by Rob Clark 2003-01-12

sneek peek... ObjectScript IDE coming soon

I have just about gotten final approval from my employer to open the src code for an IDE and application framework I have developed for building applications in Java and/or ObjectScript. The IDE is something I've been keeping under wraps for a while, because I wasn't sure how long it would take to get permission to release the the framework. Hopefully src code should be released in early Jan. Until then, some screen shots:... read more

Posted by Rob Clark 2002-12-21

0.126

is uploaded. Changes since last news include functions that take a variable number of arguments, and some documentation updates. Upload latest user's guide to the homepage (http://objectscript.sf.net)

Posted by Rob Clark 2002-07-02

0.117

If ya didn't notice, I uploaded a new version last night. Also made some updates to the user's guide (http://objectscript.sourceforge.net/osug.html) with a section on script packages, and the beginnings of a section on abstract-filesystem.

Most of the actual code changes are releated to serialization optimizations for objects that end up in cache.jar... so improvements in the time it takes to flush out to cache.jar, and in how long it takes to load previously compiled files from cache.jar when there is a cache hit... see the release notes.

Posted by Rob Clark 2002-05-17

0.115

was uploaded last night. Changes include:
+ minor bug fixes in JarFileSystem (canRead()/canWrite()
should check existance of file)
+ add charToString() function, to convert an int key code
(such as returned from Reader#read) to a string
+ little bug fix in compiler, seen when an Expression
follows an ImportBlock
+ bug fix for determining which java method to call, when
there is a choice between multiple methods that take
different args... prefer the method that doesn't convert
a InexactNumber to an byte/short/int/long or an
ExactNumber to a float/double
+ bug fix: java.lang.Character should be converted to
script type String
+ add getJavaException method to JavaException exception
type
+ use UMLDoclet to generate UML diagrams along with javadoc
API docs
+ Debugger fix, treat step-breakpoint on a per-thread basis... read more

Posted by Rob Clark 2002-05-08

0.113

I tried to upload 0.113 last night, but the tarball got corrupted somehow, so I'll try again tonight... but this time with 0.114. Briefly, the changes are:
+ minor bug fixes in JarFileSystem (canRead()/canWrite() should check existance of file)
+ add charToString() function, to convert an int key code (such as returned from Reader#read) to a string
+ little bug fix in compiler, seen when an Expression follows an ImportBlock
+ bug fix for determining which java method to call, when there is a choice between multiple methods that take different args... prefer the method that doesn't convert a InexactNumber to an byte/short/int/long or an ExactNumber to a float/double
+ bug fix: java.lang.Character should be converted to script type String
+ add getJavaException method to JavaException exception type
+ use UMLDoclet to generate UML diagrams along with javadoc API docs

Posted by Rob Clark 2002-05-07

0.98

Whats Changed:
. user's guide and revamped web page
. java inner class support, so script can create instances of an inner class, or extend an inner class.
. change to how line # info is tracked (for exception back traces) in compiled script... generates smaller more efficient classes
. grammar change: the "import" keyword is now followed by an Expression rather than <STRING_LITERAL>, so it can be an expression that evaluates to a string.
. grammar change: "[1,2,3]" can be used to declare an array. Shorthand for "new Array(1,2,3)"
. grammar change: "arr[a..b]" evaluates to a sub-array (or sub-string) of elements a thru b inclusive
. a script function that takes no args, can be passed to java code as a java.lang.Runnable
. further AbstractFileSystem development... now you can mount a filesystem at a specific location within the virtual filesystem, instead of just "/"... still needs a little work so you can enumerate the children of a file (directory).... read more

Posted by Rob Clark 2002-01-23

0.96

+ some slight src tree re-org (moving autogenerated parser to oscript.parser package)
+ ensure java objects, and instances of subclass of javatype always implement certain built-in methods from oscript.data.Value (ie bopInstanceOf, getType, etc.)... this is done to ensure transparent support for java instances and classes.
+ fast-strings. String addition (concat) is now faster than java string addtion, thanks to a slightly more intelligent implementation of the string class. ... read more

Posted by Rob Clark 2001-12-10

0.92

has been uploaded. Adds caching... parsed/compiled src files, autogenerated .class files, etc., are all writen to cache.jar to be reused in future invokations of the interpreter. This should help with the major slowness of the interpreter, all the auto-generated classes that are created, etc.

Also, the read/parse/eval has been seperated out. Input is handled by an AbstractFileSystem implementation (ie. local filesystem, .jar file, etc.), parsing is done by an implementation of Parser, and compilation/eval is done by an implementation of NodeEvaluatorFactory/NodeEvaluator.... read more

Posted by Rob Clark 2001-11-30

Notes...

an update on some of the things I am working on, and plans for the future:

* NodeEvaluator/NodeEvaluatorFactory - a common interface which both the compiler and interpreter implement. Basically a plug-in interface for the mechanism to evaluate parsed script code.
* InputSource/InputSourceFactory (names subject to change) - a common interface for reading/writing a "file". Basically the script-path will be a list of InputSourceFactory... when you do something like 'import "somefile.os"' it will walk thru the list asking each InputSourceFactory to resolve the file until one succeeds. The InputSource will have a getInputStream()/getOutputStream() interface. It will probably need something like a getSize() method too for caching...
* caching - it would be nice to be able to cache a parsed file (complete with the NodeEvaluator which would contain the compiled bytecode...), as well as the compiled java wrapper classes. Not having to re-generate all this stuff everytime the interpreter is restarted would speed things up greatly. The trick is knowing when an entry in the cache is out of date. I have some ideas for caching src files (ie size+CRC or brute force it by storing the whole original file and doing a diff), but I am not quite sure about how to determine if a java wrapper class needs to be regenerated...
* debugger - it's needed. I am not sure if it will only be supported by the interpreter. Debugger will be either an interface or abstract base class, so there can be multiple front-ends... initially there will probably be a cheezy text front-end, but eventually there will be a fancy gui...... read more

Posted by Rob Clark 2001-09-07

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks