Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Ivanko B
[index] is just an operator which can be redefined (overloaded) to a function etc providing needed access (a compiler support issue). At least it works in C++. Me'm just affraid of UTF8 may become mandatory standard in 3..5 years and MSElang may obsolete once ready (3..5 years too as claimed).

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
For new language, why not to leave only one size per type - of max register length of target arch (may be controled by compiler options) ? X86_32 X86_64: bool(=bool32), uint(=uint64), sint(=sint64), float(=float64) ... ARM-32 boxes: bool(=bool32), uint(=uint32), sint(=sint32), float(=float32)

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 11:42:22 Ivanko B wrote: For new language, why not to leave only one size per type - of max register length of target arch (may be controled by compiler options) ? Why? -- November

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Ivanko B
That can not be done with perfect performance. === Yes, but there must exist (or to be invented) special techinques for optimizations to some acceptable level. Now approx 100% of WWW are utf8, most DB setups are UTF8, most text editors are UTF8, most LINUX installations are

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 11:56:33 Ivanko B wrote: That can not be done with perfect performance. === Yes, but there must exist (or to be invented) special techinques for optimizations to some acceptable level. String performance must be perfect, acceptable is not

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 12:04:21 Ivanko B wrote: To be readable as letter :) So that user don't have to think worry about value limitations ( AV in runtine) unless they (range checks) are defined explicitly by some keyword/clause (a new compiler feature BTW). If you like you can define

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
type integer = sint64; === Not portable between architectures. -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Michael Schnell
On 11/06/2013 11:56 AM, Ivanko B wrote: Now approx 100% of WWW are utf8, most DB setups are UTF8, most text editors are UTF8, most LINUX installations are UTF8.. While UTF8 is a perfect code for storing and transport, IMHO it is not at all perfect for being handled by complex software. Here

[MSEide-MSEgui-talk] some opinions

2013-11-06 Thread Michael Schnell
(Copied from the FPC mailing list where it had erroneously been posted) 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

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 12:19:46 Ivanko B wrote: type integer = sint64; === Not portable between architectures. Isn't the idea So that user don't have to think worry about value limitations? Otherwise write type {$if CPUSIZE=64} integer = sint64; {$else} integer

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Ivanko B
String performance must be perfect, acceptable is not acceptable Database servers handle UTF8 efficiently. Also they provide infexing ( hashing for textual data) - these special tchiniques... Again the question, do you think working with current msestring is comfortable?

[MSEide-MSEgui-talk] some opinions

2013-11-06 Thread Michael Schnell
(Copied from the FPC mailing list where it had erroneously been posted) 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

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
{$if CPUSIZE=64} integer = sint64; {$else} integer = sint32; {$endif} == It's the deal of compiler swicthes which should be done automatically by build environment. -- November Webinars for

Re: [MSEide-MSEgui-talk] some opinions

2013-11-06 Thread Ivanko B
Probably needs a wider discussion even flaming debates - on FreePascal.Ru etc... -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
var i1: integer from 1 to 10; // assigned to UINT8 by compiler i2: cardinal; // assigned to UINT(max_len) by compiler i3: integer; // assigned to SINT(max_len) by compiler begin i1:= 0; // compile time error i1:= 12; // compile time error i1:= 3; // OK

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Michael Schnell
On 11/06/2013 12:49 PM, Ivanko B wrote: Sure, provided that all ansistring-like operations are correct for its surrogates. Codepoints 2^15 cause a problem with index of a string (as with codepoints 2^7 in UTF8). This needs to be documented appropriately. using the index not explicitly but

Re: [MSEide-MSEgui-talk] some opinions

2013-11-06 Thread Michael Schnell
On 11/06/2013 12:57 PM, Ivanko B wrote: Probably needs a wider discussion even flaming debates - on FreePascal.Ru etc... We are not discussing free Pascal here, so I don't get the meaning of this ?!?!? -Michael --

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 12:41:25 Ivanko B wrote: {$if CPUSIZE=64} integer = sint64; {$else} integer = sint32; {$endif} == It's the deal of compiler swicthes which should be done automatically by build environment. You miss the point. In FPC one has to

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
Run-time range checking (it can slow down target program) might be switched on/of by a compiler option or $ifdef. -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
In daily work the size of the base types should be unambiguously visible. == How about its replacement by explicit range defining/checking (possibly with the mention reversal typedef for simplier syntax) ? The same + some more (compiler) functionality.. And reading letter by default

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Ivanko B
which provides faster CPUs Which shouldn't be ignored avoided :) Even UTF32 does not help here. = Once we contact with aliens (and their alphabets) then UTF8 or UTF16 become only choices.

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Michael Schnell
On 11/06/2013 01:31 PM, Ivanko B wrote: Which shouldn't be ignored avoided :) ?? Once we contact with aliens (and their alphabets) then UTF8 or UTF16 become only choices. ?? -Michael -- November

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 12:32:11 Ivanko B wrote: String performance must be perfect, acceptable is not acceptable Database servers handle UTF8 efficiently. Also they provide infexing ( hashing for textual data) - these special tchiniques... Again the question,

Re: [MSEide-MSEgui-talk] some opinions

2013-11-06 Thread Ivanko B
I vote for adding Syntax for parallel processing == It can mainly be useful for parallel-aware languages like Haskell (which prevents form creating state-machine applications badly compatible with paralleizing ).

Re: [MSEide-MSEgui-talk] some opinions

2013-11-06 Thread Michael Schnell
On 11/06/2013 01:40 PM, Martin Schreiber wrote: On Wednesday 06 November 2013 11:27:58 Michael Schnell wrote: [...] strings It is planned to implement bytestring, bytestring[maxlength], string8, string16 and string32. string8 is utf-8 encoded, string16 utf-16, string32 ucs4. string8,

Re: [MSEide-MSEgui-talk] some opinions

2013-11-06 Thread Michael Schnell
On 11/06/2013 01:45 PM, Ivanko B wrote: I vote for adding Syntax for parallel processing == It can mainly be useful for parallel-aware languages like Haskell (which prevents form creating state-machine applications badly compatible with paralleizing ). Did you

Re: [MSEide-MSEgui-talk] some opinions

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 13:08:42 Michael Schnell wrote: On 11/06/2013 12:57 PM, Ivanko B wrote: Probably needs a wider discussion even flaming debates - on FreePascal.Ru etc... We are not discussing free Pascal here, so I don't get the meaning of this ?!?!? Folks of freepascal.ru

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Ivanko B
in utf-16 they fail for non BMP characters. == Then the NEW (free to do anything) compiler should overload the index [] access to strings so that they don't fail. Otherwise we won't have REALLY (crrently in the future) unicode environment :) but as it eats up lots of

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 13:22:31 Ivanko B wrote: In daily work the size of the base types should be unambiguously visible. == How about its replacement by explicit range defining/checking (possibly with the mention reversal typedef for simplier syntax) ? The same + some more

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Ivanko B
Or do you think MSEgui DB-apps are slow? Not investigated on large data yet :) And the test application should perfom a lot of transcoding. -- November Webinars for C, C++, Fortran Developers

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 13:33:51 Ivanko B wrote: using the index not explicitly but only via pos(), copy() and delete(). works nonetheless May be hidden by magic of the NEW compiler :) Impossible and not wanted. MSElang should produce high performant code and

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 13:36:41 Michael Schnell wrote: On 11/06/2013 01:31 PM, Ivanko B wrote: Which shouldn't be ignored avoided :) ?? Once we contact with aliens (and their alphabets) then UTF8 or UTF16 become only choices. ?? Maybe IvankoB is on of the

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 13:55:23 Ivanko B wrote: in utf-16 they fail for non BMP characters. == Then the NEW (free to do anything) compiler should overload the index [] access to strings so that they don't fail. Otherwise we won't have REALLY (crrently in the

Re: [MSEide-MSEgui-talk] MSElang, zero based strings and arrays

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 14:27:27 Ivanko B wrote: Impossible and not wanted. == Not a problem with UTF16 as to performance currently since the 2pwr15+ char check (involving the slow surrogate-handling code) rarely succeeds on widely-available data. But it

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
What is wrong to read in a letter the word sint32 instead of integer? === Means CPU architecture knowledge etc special skills. Specifying a range instead is more meaningful. And the range supplies all needed info to the compiler so that it makes proper

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
Every programmer (even the beginner) must know that CPU registers are organized in multiples of bytes. Java, Perl, Python, PHP, TCL, Haskell,.. MSElang must be able to program microcontrollers There might be type definitions for ranges: type int8 =

Re: [MSEide-MSEgui-talk] some opinions

2013-11-06 Thread Ivanko B
Of course in a similar way also parallel execution of different code snippets can be implemented, making the language a parallel-aware language. There's also the conception of pure function - which mean such function doesn't use doesn't change any out-of-function

[MSEide-MSEgui-talk] Mac port

2013-11-06 Thread misu kun
hi Martin any chance to see Mac version someday ? thanks , and good luck for the new interpreter -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models.

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 13:10:38 Ivanko B wrote: The reversal custom type defining: === type uint8 = integer from 0 to 255; The subrange form will be used to define the base integer types and to define bit fields in bitpacked records. Bitpacked records can be used to map

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 21:01:51 Sieghard wrote: BTW, int(eger) already does imply signedness, usually (mathematically). Yup. What could be used instead of int? Martin -- November Webinars for C, C++, Fortran

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Wednesday 06 November 2013 20:56:23 Sieghard wrote: BTW, float sounds awfully C-ish to me. No reals any more, really? Because there could be a complex datatype which has two float fields. char8, char16, char32 I.e. ASCIIchar/ANSIchar, UCS2char/UTF16char, UTF32char? Opinions? You

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
Probably there will be no integer Why ? The vast majority of programs don't need typelength types for defining varibales. They just specify type to express NATURE ( and behaviour ) of varibales. Me sugget it to be longest harware (of target arch) supported by default.

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Thursday 07 November 2013 07:44:45 Ivanko B wrote: Probably there will be no integer Why ? The vast majority of programs don't need typelength types for defining varibales. They just specify type to express NATURE ( and behaviour ) of varibales. Me sugget it to be

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
type uint8 = 0..$ff; = Then how to differentiate integers from floats for instance? To write smth like : float8 = 0.0..127.0; uint8 = 0..127; It looks weird :) -- November Webinars for C,

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Thursday 07 November 2013 07:55:43 Ivanko B wrote: type uint8 = 0..$ff; = Then how to differentiate integers from floats for instance? To write smth like : float8 = 0.0..127.0; Illegal. Range values must be integers.

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
Illegal. Range values must be integers. === Different rules for similar types ? -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Thursday 07 November 2013 08:17:37 Ivanko B wrote: Illegal. Range values must be integers. === Different rules for similar types ? Why similar types? Float and integer are not similar. Martin --

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Thursday 07 November 2013 08:16:14 Ivanko B wrote: Because one should always know the value range of a variable. Range (arbitrary boundaries) isn't the same as bitlegth (2power* boundaries). Ever tried to interface C-libraries on different environments with

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Ivanko B
against the bit numbers in type names. == Sure. Defined globally : type uint8 = integer 0..127; // uint8 [..] Me just want to leave as low number of base types as possible so that they only express nature and arbitary (not only 2pwr*) boundaries of variables that's what

Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types

2013-11-06 Thread Martin Schreiber
On Thursday 07 November 2013 08:45:00 Ivanko B wrote: against the bit numbers in type names. == Sure. Defined globally : type uint8 = integer 0..127; // uint8 [..] Me just want to leave as low number of base types as possible so that they only express nature and