[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).
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)
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
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
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
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
type
integer = sint64;
===
Not portable between architectures.
--
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques
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
(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
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
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?
(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
{$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
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
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
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
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
--
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
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
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
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.
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
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,
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 ).
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,
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
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
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
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
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
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
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
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
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
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
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 =
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
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.
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
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
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
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.
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
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,
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.
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
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
--
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
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
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
50 matches
Mail list logo