Monday, May 25, 2009

LayerD SDK 0.5.3

I've updated the LayerD SDK with a new release that includes several bug fixes. It doesn't include new functionality from 0.5.2. It fixes an annoying bug that occurred the first time that you use a new assembly for .NET platform :-) .

Download the SDK on SourceForge: http://sourceforge.net/projects/layerd

LayerD SDK Release Alpha 0.5.3

This SDK version Alpha 0.5.3 includes the following components:

Quick start

To make programs on LayerD framework you must make the programs on one high level language (currently Meta D++, also there is a Java clon that is distributed separately). After that, you must compile Meta D++ source code using metadppc.exe compiler and the generated .zoe files with zoec.exe compiler. Check the instructions on Meta D++ Programmers Guide.

It’s recommended to read the Meta D++ programming guide for .NET programmers even if you don’t program for that platform because of generic concepts explained in this document.

There isn’t an IDE currently available. I use Notepad++ editor or Visual Studio and have custom macros that call compilers. You can use any text editor.

Note: There is plug-in for Visual Studio that implements a kind of “Intellisense”; it’s only a concept and don’t work on programs that have more than one file but it can be useful (on files with less than 1500 lines of code :-P ).

More information on: http://layerd.net, http://layerd.blogspot.com, http://sourceforge.net/projects/layerd.

Please don’t hesitate to contact me at alexis.ferreyra@yahoo.com for information or if you want to contribute with the project.

Compiler Usage and Hello World programs

Compiler Usage and hello world programs: http://layerd.wiki.sourceforge.net/compiler_usage

Debugging

Programs can be debugged using standard infrastructure of the target platform. For example, if you program for .NET you can use Visual Studio or SharpDevelop for debugging. If you develop for Java take into account that Zoe Code Generator for Java is Alpha version and don´t generate equivalence between Meta D++ source code and generated Java code, so it will be a bit more challenging but you can use any Java IDE to debug generated code, frequently visit LayerD’s website because this module will be updated frequently. /p>

To debug classfactorys (compile time functionality) you can use –wfd flag on zoec.exe compiler the compiler will wait until a compiler attaches to the compiler process before continue. So you can run the compilation with –wfd flag and attach to zoec.exe process from a debugger like Visual Studio (first set breakpoints on compile time source code).

Languages features implemented on this SDK

LayerD is a large, ambitious and little complex project so not all desired features of Meta D++, Zoe, and Zoe Code Generators are implemented. Currently these are the features included until now:

  • Main features of Zoe and Meta D++ languages to support standard object oriented programming like classes, interfaces, single inheritance, enumerations and statements.
  • Compilation of Classfactorys, standard and interactive.
  • Multiple compile times on Zoe compiler.
  • Interactive compilation for Meta D++ language.
  • Generation of .NET assemblies for desktop and mobile, .exe and .dll.
  • Generation of .class files for Java (using javac compiler)
  • Automated import of types for .NET platform but not including generic types, nulleables and attributes.
  • Automated import of types for Java platform but not including generic types or annotations.

Changes from 0.5.2 version

  • Know bug when first compiling a program for .NET fixed.
  • Bugs while merging nodes at compile time fixed.
  • Bugs about expressions not being captured for compile time execution fixed.
  • Several bugs on Java importer module fixed.
  • Several bugs on .NET and Java code generator fixed.

Documentation

LayerD SDK FAQ

Why is this SDK in mixed English / Spanish ?

Because I don't have time to maintain both English and Spanish SDK. So, I'm translating all to English. If you want to help me that will be great!!

There is a distribution for Linux ?

No, there isn't. It's perfectly possible to compile all modules in Linux but I don't have time to do that and I use Windows more than Linux. May be you can help me with this task.

Can be used to develop commercial applications ?

Yes, In fact it was used for at least two pretty big commercial projects (both on .NET). Please let me know if you use LayerD on a commercial project ! You don't have to pay me for that, this is a free and open source project. If you make money consider a donation :-)

Thanks for downloading LayerD SDK,
Be happy doing compile time programming :-)

Distribution date: May 25, 2009

2 comments:

luismarianoguerra said...

no hay release nueva?

no sabia que tenia blog ;)

saludos!

Alexis Ferreyra said...

tengo que retomar el proyecto opensource :P, ahora lo tengo bastante abandonado (incluyendo el blog), pero estoy esperando a mergear los cambios que estamos haciendo en la empresa y el probable "boost" de publicidad cuando salga el producto en agosto... :D