Fork me on GitHub

March 12, 2012

Red/System v0.2.5 released

This is a mainly a bug fixing release with several issues and bugs in float numbers handling solved.

In addition to that:

  • Libc is now much better integrated with Red/System, the __libc_start_main C internal initialization function is now correctly handled by Red/System on all supported platforms. This ensures that all libraries relying heavily on C will now work as well as if called from a C program. Thanks to Andreas for the nights spent on digging and debugging that.
  • The IA-32 floats backend has been improved to keep last float value in FPU rather than passing it to CPU. This change not only simplifies the backend code emitter but also reduces significantly the generated code size for floats. As a side effect, float-intensive programs are now twice as fast as with v0.2.4. The same change could be applied to ARM backend, but with less gains as ARM can easily transfer data between CPU and FPU, as opposed to IA-32 architecture, which requires an intermediary step through memory when using x87 FPU.
By the way, that's our first birthday (technically ten days ago) since Red project was announced for the first time at the ReBorCon 2011 conference in Amsterdam. The initial schedule has been changed several times since then, to better adapt to the very rapid changes that are occurring in the computing world (massive move to mobile devices to name the main one).

After 900+ commits and thanks to all the contributors, we now have solid foundations to build upon, much better than what I expected to have, one year ago. The focus from now is getting the Red language layer up and running as soon as possible. A large window of opportunities is opening in 2012, so let's not miss it!

Cheers!



14 comments:

  1. Keep up the good work Nenad!

    ReplyDelete
  2. Great, awesome work done in one year.

    ReplyDelete
  3. What a job ! I sincerely hope that Red will meet 2012-opportunities that you speak about, and that Red community will reach a significant size among other language communities...

    By the way, what "features" will be available in first alpha version of Red ? blocks handling, files handling, protocols,... ? Just to have an overview of next big step...
    And, when is this version planned roughly ?

    Thanks.

    ReplyDelete
  4. May the next 900 commits be equally productive. :-)

    ReplyDelete
  5. Thank you all for your kind support!

    @Thomas: for the very first Red alpha, only memory management, basic datatypes and a few natives/actions. Ports and I/O will probably be added in following alpha versions, as PARSE. If we don't hit any walls, we should have it a few weeks, probably a month.

    ReplyDelete
  6. Great news ! In a month ! How quick it is, even if it has only core features...thrilling !
    It could be nice to have detailed Red roadmap in progress...blocks handling, objects support ?, ports, I/O and network protocols, proxy support ?, Unicode ?, PARSE, errors handling, profiling ?, and so on...

    1st alpha Red version will be built using compiler written in Red/system ? (without Rebol 2 bootstrap ?)

    Thanks.

    ReplyDelete
  7. Red first compiler will be built with REBOL2 as part of the bootstrapping process. Then the next step will be to build Red/System compiler using Red.

    About the detailed roadmap, I will see if I can do something similar to the existing global roadmap but for Red features only, once the first alpha will be released.

    ReplyDelete
  8. Thanks Nenad for these informations.
    OK. I understand more about Red/system compiler written in Red. You need PARSE for example.
    Was just an idea for the roadmap, you must be more than busy ! But, it can be nice to have a more feature-oriented roadmap for people to follow language progress (as well as already existing roadmap).
    Thanks for the hope you are raising inside Rebol community, and beyond...

    ReplyDelete
  9. Great work, keep it up!

    ReplyDelete
  10. Nenad,

    Do you plan to implement a module system in Red, like Rebol 3 one (http://www.rebol.com/r3/docs/concepts/modules.html ) ?
    I found it well thought and designed. It reminds me a little of OSGI bundles (http://en.wikipedia.org/wiki/OSGi ) more and more used in java application servers and in Eclipse RCP applications. It allows for example hot code deployment on server side.

    Thanks.

    ReplyDelete
  11. Yes, we plan to implement a module system, it has not been designed yet but it will probably be similar to the Rebol3 one.

    ReplyDelete
  12. hope to develop this language for robot for future of technology and machine

    ReplyDelete