current: 1.0.2

Open Source Approved

SourceForge Logo



Arrow Via Dots From Logo

old news

14th June 2004 roadmap to 1.0
    Within the next week or so 1.0rc1 will be released. This will initially be the code basewith the documentation following closely behind. We are aiming to get 1.0final out by the middle of July. This will include ferite with its core set of module, as well as, a whole fist of modules for doing all sorts of application development (imaging, email, templates, database access, xml and much more).

    Once 1.0 has been released, work will begin on 1.1 which will push forward in terms of house keeping in: the exception system, threading, method declaration and handling, general speed improvements. We aim to have 1.1 released at the end of September 2004.

    We are also investigating GUI bindings to provide developers an easy mechanism for rapidly building, prototyping and depolying interfaces that will function correctly on multiple platforms.
March 23rd 2004 nameservers changed and updated
    Having setup the mirrors, ferite.org has been renewed and transfered to a more reliable set of nameservers. The mirrors are now known as uk. se. and us.ferite.org. They are the same machines as before but have a more obvious name.
March 17th 2004 happy new year
    Better late than never. ferite.org has had a rocky few months due to the hosting being a bit shaky. To stop the lack of information in the future we are implementing a couple of mirrors. The first to become live is ferite.sourceforge.net. The second is the European Mirror from cention. It is ferite.centiongroup.com.
December 14th 2003 activity at last, lambda, basics as objects
    The silence is broken and code has been written. Having played with lambda calculus for so long through my PhD, I have decided to bite the bullet and add statically bound lambda constructs to ferite. The work is currently in cvs. Please see scripts/test/closure.fe.

    It works nicely. I am also in the process of fixing the regular expression code that was broken when block scoped variables are in. Once these fixes are in I will do some testing and release 0.99.7.
August 12th 2003 been away
    Unfortunately, due to some technical dificulties, the site has been away. But now it is back. Most of the development on ferite has halted whilst we have a break over the summer and collect our ideas. We are not dead - just revitalising ourselves.

    Work in progress has been the Ferite.framework which is a ObjectiveC framework for quickly deploying ferite into Cocoa based Mac OS X projects.

    There has also been work on making all type objects which will no doubt feature in the CVS repository once it has become slightly less unstable.
February 16th 2003 quick cvs update: private, protected and public
    The recent CVS changes have made it possible to make class items private, protected or public. This make larger projects and library access control more flexible. By default variables are private and methods are public.

    It is also now possible to make classes abstract or final. And when an error is thrown and not caught a backtrace is given out making finding the errors easier.
January 16th 2003 anonymous cvs issues
    Due to technical issues at SourceForge, anonymous CVS access is currently unavailable. The cvs browser and examples page will be down for the duration. More info can be found on the SourceForge.net site status page.
January 8th 2003 happy new year
    Happy New Year! What with Christmas having passed aswell as the New Year, we have a present for you. It's a new stable version of ferite. This feature is as big as before and provides even more goodies for people to play with. Go and play! The release notes are below:

    • Many bug fixes and performance enhancements including speedups between 3-12 times and a couple of critical compiler fixes.
    • Much more documentation, including API, C API and a developers guide
    • Object methods can call the constructor of their parent class with super().
    • Single line functions don't need braces around the function body, eg.
        	            
              function foo( number bar )
                return bar + 42;
            
    • Added the foreach() operator.
    • Added ( foo ? bar1 : bar0 ) conditionals.
    • Added parameter overloading- you can now do things like:
        	        
              function foo( number bar )
        	Console.println("foo: got number " + bar);
        	
              function foo( string bar )
        	Console.println("foo: got string " + bar);
            
    • Changed the way variable argument lists are accessed via script code
    • Added many new functions, classes, and constants to the Sys module. In particular:
      • Syslog
      • select()
      • printf()
      • UDP sockets
      • Signal handlers
      • Full IPV6 support
      • Unix domain sockets
      • A pipe stream class
      • A string stream class
      • A host class for DNS lookups
      • Many system constants (eg. the errno and signal values), the values of which are determined at compile time
    • Rewrote several String functions and added many new ones
    • Added several new Array functions, including a generic array sorting routine
    • Added several new Reflection functions, including better object and function runtime inspection, and the ability to trace a variable's modification.
    • Feritedoc is now much faster
    • Basic Remote Method Invocation framework in pure ferite
    • The ability to duplicate a scripts in C code
    • The XML module has been re-written in places to be more flexible
    • Saner Error handling regarding multiple threads within a script

    Ferite works on Linux, Solaris, Mac OS X, Cygwin and FreeBSD. Please see the download page for details on obtaining ferite. I have also modified the site menu to make navigation less complicated and confusing.
December 2nd 2002 developers guide
    Well, as promised there is a developers guide availiable. It is currently in a state of flux and any significant updates will be mentioned here. You can access it the same formats as the normal manual by clicking on the menu items on the left. Enjoy.
November 29th 2002 documentation
    The documentation had been updated on this site to include the latest cvs documentation for the manual, the module api and the C api for developers. This should make developing ferite easier. Aswell as online versions there are tarballs that can be downloaded. The next piece of documentation on its way is the guide for developers wishing to do clever things with ferite. Enjoy.
November 26th 2002 back
    After some down time and various people having breaks from coding, development has started again, the website is back and things are starting to gain more momentum. Recently there has been a huge commit by Alex Holden on the Sys module providing some posix'y good ness, and work on better variable handling in the engine with a view of implementing block-nested-variables at somepoint soon. Be patient as 0.99.6 will be here at somepoint soon.
October 9th 2002 ferite 0.99.6 is almost here
    ferite is still alive. This seems like deja-vu. There hasn't been that many news items of worthy note recently. The main changes between 0.99.5 and the current source tree is numerous bug fixes and clean ups aswell as vast speed improvements. The ackermann benchmarks now run three times faster than before. There are also some syntax cleanups, additions aswell as some documentation for developers.
July 11th 2002 ferite 0.99.5 released
    ferite 0.99.5 has now been released. It's hot, its great, go download and play with it now. You should be impressed. We are, it's definatly been work the last 6 months hard work. Here are the release notes:
    • FreeBSD, Darwin, OpenBSD and Solaris fixes
    • Support for Cygwin
    • ferite.m4 for easy ferite install checking
    • Cross platform library for system interaction [aphex], Provides consistant file, directory and threading interface
    • man pages for both ferite and builder
    • Full api documentation
    • function renaming and deletion in classes
    • Complete re-write of the array subsystem
    • Large amounts of module work
      • Complete re-write of the module system
      • Re-write of builder to reflect changes
      • Much more flexible load unload system
    • Syntax clean ups
      • Slice operator - allows the selection of ranges out of an array or string
      • Removed '->'
      • uses now only accepts a quoted string. Including a new contruct c///, this allows for capture strings to be placed in the variables mentioned in the comma separated list on the right hand side.
      • Better regular expression detection and processing
      • New 'atomic' keyword for threadin - provides locking for functions and variables at script level.
      • Code at the end of a module is now executed when loaded in
      • eval() modifies the script it runs in
      • include() can be used to load up another script at run time
      • Arrays can be created in scripts using [ value, ... ] syntax
      • isa operator to check a variables type
      • instanceof operator to see if a variable is an instance of a class or parent class.
      • Ability to embed expressions in a string using "${expr}" syntax.
    • More functionality added to the command line ferite tool
    • Big clean up of the native api
      • More convinience functions
      • More macros for easy of use
      • All functions now start with ferite rather than __ferite
    • generate-module - a tool to allow the easy deployment of third party modules
    • feritedoc - a javadoc like tool for generating documentation in various formats, currently only text and html are outputed. [used for the api docs]
    • New system module, providing a complete stream interface, test suite, serialization, and threading libraries. See the API docs for more information.
    • More test scripts
    • Variable accessors allowing for tracking of variable changes in native code
    • Hundreds of bug fixes and clean ups

    We hope you enjoy :-) Please see the download page for obtaining instructions.
July 2nd 2002 feature freeze
    ferite 0.99.5 will be released at the end of this week, cvs represents the current state of affairs and only bug fixes will be changed. Just to let you know.
June 7th 2002 still alive
    We are still alive, bug fixing and keeping things tidy. We should be have a release for you soon. Expect nice things. ferite is much more real than before, other releases look like technology demos compared to the current code base. In other words, we are all very happy with the way it has progressed!
April 23rd 2002 providor change
    Due to issues the site was down for a short while because of dns changing. We also changed the box the site is hosted on at the same time. Sorry for the issues.
April 18th 2002 toys
    ferite cvs is coming along very nicely with various toys being developed to make it even more powerfull than a very powerfull thing. Like a medium sized pony, or a tractor. But enough, what are these features? Multi threading - ferite can run multiple scripts within the same engine, and also run multiple threads per script. There is a thread class, atomic variables and methods [these give the ability to have critical sections, and also have variables where all operations done on them are atomic!]. Writing a threaded script is ever so simple - simply inherit from the Thread class and implement a run() method. See here for the example. Ferite can also store binary data in strings - which makes processing of data easier. There is a new range operator allowing for manipulation, and the "->" operator has been removed. The underlying API has been cleaned up, bugs fixed and all in all ferite is moving along nicely. There is a stream framework in the pipeline and the modules are being cleaned up. 0.99.5 is going to be a very big release and quite exciting :).

    I just want to thank ntropy and Stephan Engström for their continual help.
March 6th 2002 marching along slowly
    Work is going along, but a bit slow at the minute due to real world commitments - things should pick up in week or two. On another note, if you want to link to ferite.org you can use the image on the left, and use the code:

    <a href="http://www.ferite.org"><img border=0 src="http://images.ferite.org/ferite-dot-org.gif" alt="ferite language"></a>
February 8th 2002 still alive
    Work is still happening quietly in the background, there is new faster array code in cvs - which reduces memory overhead aswell, there is a new module system that is about 1000% more flexible and uses less memory. Things are progressing nicely and I am sure there will be a release at somepoint in the future - sooner rather than later.
January 13th 2002 ferite in debian unstable
    You can now get ferite using apt. To play do: apt-get install ferite. Have fun :)
January 9th 2002 ferite 0.99.4 has been released.
    This has a number of features and in summary:

    "Cleaner and better native side API, builder enhancements, new library loader system, module changes, new: ipc, reflection, speech, improved: file, string and system modules. Enhancements to the language including array initialisers, switch statement, the ability to assign initial values to global, class and namespace variables. ANSI C clean ups, and a number of critical fixes within the compiler and the executor. There are also hundreds of little fixes making this a much cleaner and stable release than before."

    This release is a highly recommend release - it provides a much cleaner system and should be alot more usable. Go fetch it off the downloads page.
January 8th 2002 happy new year, release soon
    Happy Belated New Year - things have been happening and happening fast. Development has slowed to bug fixing and clean ups to make cvs more releasable. This should be occuring soon (later than I wanted but hey thats life). 0.99.4 will be a much more solid release than before with more API, greater stability, more goodies, less dependancy hell. It also will allow a sync in api on the native side of things allowing applications to be using either cvs or release ferite and not worry :).

    If you find any serious bugs in cvs please let us know.

    Thanks, Chris Ross.
December 29th 2001 - syntax files for editors, development update, new document
    I have added two syntax hi-light files for you to download. The first is for vim it can be found here and was created by ymer. The second is for Kate and it can be found here, and was create by myself.

    Development has been progressing nicely with bigger and better string, file, reflection and system modules, compiler fixes, source clean ups, more flexibility, memory usage and tweaking abilities, switch statement, plus a whole host of other goodies. Please check out the ChangeLog. We are now preparing to go for the 0.99.4 release of ferite.

    For those of you wanting to use ferite in your application please see the document that is on the developer's page - this should give you a good base point to start.
November 18th 2001 - module generator updated
    I have updated the tool - this fixes some issues with the .fec file being modified and builder rebuilding it. You can grab a copy here here. Please read the README file in the package.
November 17th 2001 - another tool to help developers
    I have create a tool that will take a .fec file and generate a tarball so that it can be distributed and installed on other systems. It's new and probably breaks all over the place, but you can grab a copy here here. Please read the README file in the package.
November 15th 2001 - ferite 0.99.3 has been released.
    This has a number of features and in summary:

    "More documentation, variable argument lists, autoload methods in classes, runtime script inclusion, memory leak fixes along with a few other bug fixes, cleaner build system.."

    You can get this from the downloads page. The main motivation for this quick release was to get the new powerful features out into the field. The next release will probably be futher away.
November 14th 2001 - ferite in FreeBSD ports tree
    ferite has made it into the FreeBSD Ports Tree. Go see the link for information. There is also a darwin port in progress by ntropy.
November 13th 2001 - Known Issues and Example Code
    There are known issues with the 0.99.2 release of ferite. This is due to the build system and will give you grief unless you have ferite previoulsy installed. There are two options, 1 Install cvs - the instructions are on the downloads page, 2 Wait for 0.99.3 which should be out at the end of the week. We do apologise for the mess up.

    On the other side several features have been added to CVS, an preliminary include() operator to allow for dynamic inclusion of other scripts, autoloading of methods - this allows you to specify a method to be called in a class when the function being called doesn't exist, and variable argument lists.
November 12th 2001 - ferite 0.99.2 has been released.
    This has a number of features and in summary:

    "Hexadecimal numbers have been added to the compiler, The operators left and right shift, bitwise or, and and xor have been added, as well as unary '+' and '-' operators. This release has much better support for Solaris and other unices, a regex /e modfier, additions to the builder application to allow for better modules, more documentation (and converted to SGML), and cleaner C / Macro namespace to avoid conflicts with applications. Some existing operators have been cleaned up."

    You can get this from the downloads page.
ferite et al © 2000-2005, Chris Ross