[fpc-pascal] MSElang, the future compiler for MSEide+MSEgui

Michael Schnell mschnell at lumino.de
Wed Nov 6 10:36:19 CET 2013


On 11/06/2013 09:14 AM, Martin Schreiber wrote:
> if you like to discuss the matter.
IMHO this theme is complex enough to start another mailing list instead 
of discussion it here.

There already has been a (IMHO very interesting) discussion  in the 
"German Lazarus forum" that in fact does have an "mse" section for such 
issues.

For me, there were some some discussion results that seem to be seem 
worth noticing (OS some are just my opinions :-) )
  - Martin wants to beat the compiler speed of D7, which he esteems to 
be 10 times that of fpc. Good luck :-) :-) !
  - IMHO, the archs supported should include X32, X64, ARM32, and ARM64
  - IMHO, the OSes supported should include Windows (Desktop) and Linux. 
(Android would be nice but how to do this ?)

  - There has been a vivid discussion on Unicode support. For me, the 
results are:
  . - There should be no string type (out of the box) called "String" or 
ANSIString or "UnicodeString" (the user can add a "Type" statement if he 
wants such.) String types should be given "honest names.
  . - (Rather) decent Unicode handling can only be done with "code aware 
Strings", which Martin does not want to implement. This of course makes 
mseLang not really "Unicode aware", which is not a severe problem to 
most potential users, and in many cases better than not doing Unicode at 
all.
  . - For optimum practical use the language should have a (raw) 
"ByteString" type and a "UTF16String" type that hold exactly the named 
information.
  . - The appropriate Character Types of course are "Byte" and "UTF16Char"
  . - ByteStrings are not printable and there is no auto-conversion
  . - printable information always is in UTF16Strings.
  . - The string index (including pos(), ...) is counted in (16 bit) 
codewords. There is a decent documentation that shows the implications 
regarding Codepoints > 2^15 and "composed" printable characters.
  .- String (and array) indexes always count from Zero (neither base 1 
(Strings) nor Base whatever Arrays).

I vote for adding Syntax for parallel processing (similar to "parallel 
loop" and "future" in Prism) but this of course is a future nice to have 
add-on.

have fun,
-Michael





More information about the fpc-pascal mailing list