We are proud to inform you that we have released XSharp Beta 5 today to our FOX subscribers.
It has taken a little longer than expected / hoped, but it is full of new features that make the product very compatible with VO and Vulcan.

Next to the obvious bug fixes there are lots of new features in this build, most of which are for the VO/Vulcan dialect only


It has been a few weeks, so it is time again for a progress report.

Free Software

We have worked on the legal side of distributing free software. In the top menu from this website you can now find an option that describes under which licenses we distribute our software. We have decided to use a couple of different licenses.

  1. A license that describes how you can use the compiled version of X# and which components you can include with your product. This is the XSharp Open Software License Agreement.
  2. A second license, the Apache Open License, that describes what you can do with the source code to our runtime and tools
  3. A third license, The XSharp Compiler Source Code License, that describes what our FOX subscribers can do with the source code for our compiler.

Please look at the separate page on this website for more details.

Github

The XSharp source code is available on Github. Please read this FAQ article on where you can find it and how you can contribute.


We are proud that XSharp Beta 4 is available for download for our FOX subscribers.

On top of the changes that we already listed in a news message last week, we have now also added support for some additional VO and Vulcan compatibility topics:

  • BEGIN SEQUENCE... RECOVER USING ... END
  • BREAK.
  • We have also added support for the /VO10 compiler option (Compatible IIF expressions, where the TRUE and FALSE expressions are of a different type).
  • And finally we restored the behavior that the call to the parent constructor no longer has to be the first line inside a constructor (for VO and Vulcan dialect only). That way you will be able to create Clipper calling convention constructors and set default values for missing parameters before calling the Super constructor. Or call a PreInit() method before the super constructor.

As said: this build is for download for FOX subscribers only.

The next public beta is planned for the second half of June 2016, and should contain the full VO and Vulcan compatibility support as well as some enhancements inside Visual Studio and our first XSharp Runtime.

We would finally like to remind you that the introductionary price for the FOX program ends this month.

Stay tuned for more news!


The conference in Cologne is now more than a week behind us and we have all gone back to the usual work.
In the last week many people, that did not attend the conference, have approached us to hear the details about our future plans.
That is why we have decided to upload PDF versions of Robert's presentations to the website.
Goto the Downloads / General section to find them

We have also picked up the work for the Spring build that contains the full Bring Your Own Runtime support. We have now implemented:

  • Clipper calling convention
  • /vo5 compiler option (to set Clipper calling convention for parameter-less methods)
  • Support for the implicit functions PCOUNT, _GETMPARAM and _GETFPARAM
  • Support for String2Psz() and Cast2Psz()

At the same time we have also added a couple of new features to the language (sorry we could not resist it..)

  • Lambda expressions with multiple expressions
  • Lambda expressions with multiple statements
  • The nameof operator
  • Anonymous classes (useful when doing Linq)
  • Using block now (optionally) contains a variable declaration

And also some changes in our Visual Studio integration

  • Support for designer.prg
  • Fixed some problems with opening the source from the error list
  • Visual Studio was always treating "warnings as errors" regardless of the setting in the project properties. This has been fixed.

Please give us a week or so to wrap this up, create some examples and to release Beta 4 (for FOX subscribers only).


We have just returned from a very succesful conference in Cologne, called XBase.Future.

The conference was very well organized and we would like to thank the organization again for all their work. Maike, Michael, Meinhard and the other team members from Fischer and Consults, you have done a great job!

We can tell you many stories about the conference. But for us the change in atmosphere compared to last years conference was the most important thing. Last year many people were not happy with the lack of progress in Vulcan.NET and were seriously considering alternatives outside of the XBase world for their future development.

Our new XBase language has changed all of this. In the closing session one of the attendees perfectly said: "X# has brought us new hope".


We are proud that we can announce that today, at the first day of the XBase.Future conference, we have also released XSharp Beta 3.

This new Beta is full of new things, both in the compiler as well in the Visual Studio integration.

The new beta will also be included in the conference material for the attendees of the XBase.Future conference.


With only 2 days left until the XBase.Future conference in Cologne, things are becoming a little hectic over here.Fabrice has traveled from the sunny France to a cold Netherlands, and together we have prepared the new Beta 3 that will be presented and used at the conference. This new beta with comes with many great new features. Some hightlights of this new build:

Visual Studio Integration

  • Support for the Windows Forms Editor
  • Support for the WPF Editor
  • Support for selecting the dialect (see compiler below)
  • Enhanced project property pages with editors for paths and pre and post build steps

Compiler

  • There is now dialect support in the compiler. The previus beta only supported the Core dialect. Now we also support the VO/Vulcan dialect.
  • We have started work on the Bring Your Own Runtime support for Vulcan. See separate heading below.
  • Improved debugging output
  • New macros (__ENTITY__ and __SIG__ ) for the preprocessor
  • New PARAMS keyword for parameter list of method/function
  • Slen() and AltD() are now supported by the compiler
  • Added support for the DYNAMIC type

Bring Your Own Runtime

  • XBase type names are resolved properly (ARRAY, DATE, SYMBOL, USUAL etc)
  • Literal values are now resolved properly (ARRAY, DATE, SYMBOL)
  • NULL_ literals are resolved properly (NULL_STRING follows the /vo2 compiler option, NULL_DATE, NULL_SYMBOL)
  • Calling methods with Clipper calling convention works as expected.
  • Methods/Functions without return type are seen as methods that return a USUAL
  • If a method/function contains typed and untyped parameters then the untyped parameters are seen as USUAL parameters
  • The ? command will call AsString() on the arguments

Please come and meet us in Cologne. If you haven't registered: it is not too late.

 XSharpMeetsWPF


Easter is only just one week behind us and we are already making good progress in a couple of areas:

Compiler

We have started to work on the "Bring Your Own Runtime" (BYOR) support.

So far the compiler recognizes the standard VO/Vulcan datatypes such as ARRAY, FLOAT, DATE etc. and maps these to the types inside the supplied Vulcan Runtime DLLs. Of course you need to bring the runtime for this. That is why we call it BYOR !
The compiler also correctly recognizes literal dates, literal symbols, literal floats, literal arrays etc.
Function calls in the Vulcan Runtime are resolved as well. The good thing is that X# will accept runtime DLLs from various versions of Vulcan. You do not need Vulcan 4, X# will also accept Vulcan 3 runtime DLLs, and most likely also Vulcan 2 DLLs.

In the rest of april we will implement the more "exotic" areas of the BYOR support and the VO/Vulcan dialects, such as the support for Clipper calling convention, VOSTRUCTS, UNIONS, the PSZ type, workarea access , the macro compiler etc.

Visual Studio Integration

We have had some set back in this area, but that has been resolved: we could not get the Winforms and WPF designers to work in our  project system which we have based on the new Common Project System (CPS) from Microsoft.
So we decided to switch back to the "good old" Managed Project Framework (MPF), with which we have ample experience.
Now both forms editors are working as expected. We have also added a Code parser (needed for the Winforms editor) and a CodeGenerator (needed for both tools).
We need to merge some of our code changes from the CPS version of the project system to the MPF version but that should not be too complicated

Come and meet us at the xBase.Future conference in Cologne two weeks from now. We will show you all the new stuff there!