Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types
On 11/19/2013 09:20 PM, Sieghard wrote: Yep. The highest order bit in a number in the 2's complement encoding is the sign bit. Ok, let's look at it this way. Then, what's the value of this lone sign bit? This is obvious. Take a look at the predecessor of zero as done by the algorithm any (modern) ALU does with eight bits: - : interpreted as signed: 0 - -1, interpreted as unsigned 0 - 255 (=2^8-1) with two bits: 00 - 11 : interpreted as signed: 0 - -1, interpreted as unsigned 0 - 3 (=2^2-1) with one bits: 0 - 1 : interpreted as signed: 0 - -1, interpreted as unsigned 0 - 1 (=2^1-1 ) -Michael -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
On 11/19/2013 09:31 PM, Sieghard wrote: C doesn't really _have_ enumerated _types_. the compiler seems to think differently as he happily compiles: typedef enum claimUsage_e { LTE_CLAIM_SEM_MGT, LTE_CLAIM_SEM_BASE, LTE_VT_MGT, LTE_VT_BASE } LTE_claimUsage_e; -Michael -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
On 11/20/2013 12:56 AM, Sieghard wrote: _No_ language can make certain that a preprocessor cannot be used. It can make use of the preprocessor syntax itself (e.g. requiring a # at the start of a line for some purpose) _No_ language should depend on the use of a preprocessor. Right. You got a funny gcc. Mine doesn't do any preprocessing itself, it needs to call an external program (named cpp) for that purpose. Where does your gcc come from? Maybe I was fooled by my memory. I seem to remember that I once tried to call cpp as a stand alone preprocessor and failed, but succeeding when calling gcc with appropriate parameters. maybe I just have been silly... There are only very few things to be given: Well, what you write only asks for one single thing: C. I suppose for C this is documented somewhere. Did you find a documentation for some Pascal dialect that contradicts the assumption that it should work that way ? Of course the origin of the preprocessor is the needs of C programmers, but as Martin will not be writing a new preprocessor, there is no way but using same (if somebody might be in need for this). The C preprocessor has developed into a gargantuan monster never conceived to do what is was made to do. It is a perfect example on how an algorithm that can be defined in just a few lines can be used to do very complex stuff. Pascal - especially the more modern dialects - doesn't need most of the features of cpp. Right you are. Nonetheless can it be of use sometimes to have some source file processed to create the really compilable code. I can imagine a lot of other stuff. E.G. Martin does not want to implement Generics. In ANSI C I do that what Generics are made for, by means of #define macros. Not nice, but doable. -Michael -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
On 11/19/2013 02:52 PM, Martin Schreiber wrote: It is planned to unify record, object and class in a single concept. Nice and consequently thought out ! -Michael -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
On 11/19/2013 03:53 PM, Martin Schreiber wrote: case can. Having elseif looking like case is evil. I think the contrary: as well with case as with an elseif (or with pure fpc syntax: end else if ... then begin) cascade only one of the multiple alternatives is taken (other then with if test1 then begin .. statementsequence1; end else begin ..statementsequence2 .. if test2 then begin statementsequence3; ...end else begin statementsequence4; ..end; ..statementsequence5; end; here multiple statement sequences are taken. -Michael -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
On 11/19/2013 06:38 PM, Ivanko B wrote: case can. But case: only accepts (compile time) contants in its labels so its usage is restricted. An improved language could do away with this rather silly restriction -Michael -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
On 11/20/2013 01:23 AM, Sieghard wrote: They've been just resently removed from Delphi. They were called objects, Objects are not constant but more like static classes. And in fact they have not been removed but replaced by enhancing the record concept to allow for what objects were. Happily it seems that Martin intends to get even one step further. Well, you could invent yet another name again, of course... Lets see what Martin comes up with. :-) . I suppose he will find a way to allow for porting legacy Pascal programs that used the keywords Record, Object, and class by adding Type alias definitions in the source code. -Michael -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
silly restriction == Possibly taken to aviod crossing ranges in run-time (not revealed at compile time). -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
[MSEide-MSEgui-talk] MSElang, procedures and functions
Hi, '()' for procedure header and procedure calling is mandatory. procedure noparams(); begin end; procedure test(); begin noparams(); end; Parameter separator is ','. procedure params(a: int32, b: int32); begin end; procedure test(); begin params(123,456); end; There will be no extra reserved name for functions, functions are defined by ':' TYPE. Return values are supplied by 'return' statement. A 'return' statement before 'end;' is mandatory. procedure func(a: bool8): int32; begin if a then return 123; end; return 458; end; Opinions? -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
The result auto-variable will also be available ? -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
On Wednesday 20 November 2013 17:02:14 Ivanko B wrote: The result auto-variable will also be available ? No. -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
Why ?! It's one of best advantages of ObjPascal allowing not to bother about allocating/freeing memory for non-atomic function result types. -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
On Wednesday 20 November 2013 17:53:17 Ivanko B wrote: Why ?! It's one of best advantages of ObjPascal allowing not to bother about allocating/freeing memory for non-atomic function result types. Please explain, I don't understand. Delphi 'result' is not well defined, especially with reference counted types. Martin -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
Returning NEW strings, dynarrays etc refcounted (automatically destroyable) types from function. -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
On Tue, Nov 19, 2013 at 10:12 PM, Sieghard s_c_...@arcor.de wrote: Hallo Marcos, Du schriebst am Tue, 19 Nov 2013 00:25:26 -0200: There's no new ALIAS compiler parameter neccessary. I know there is no new ALIAS parameter... So I'm proposing one. Read completely - there is no ALIAS parameter _neccessary_. Sorry, my mistake. Ok. So, please, explain how we can use __TWO__ units which have the __same name__ in the same project using their approach. They cannot. Why'd you want that? Because a 3rd lib could have an unit that have the same name that other 3rd lib or the same name my own unit -- as happened when Martin renamed classes.pas to mclasses.pas. BTW, you could always build a secondary project, a library, say, using one of them and include this into your main project. And anyway, this is won't fix my problem with 'm' prefix units (mclasses, etc) because mclasses unit is required in MSE. But this is only one example. You split your project into several units anyway, why not split it into several subprojects also, especially when it is already so complex that you feel not being able to avoid using the same name multiply for the same purpose? Sometimes this is good... but you have more work of course. You can create a library, eg Synapse, to encapsulate all classes/functions you will use in your project... but you need to reimplement all call for classes/functions creating a new API -- that already exists and work very well -- to use in your project ... why I would that?? ... Using my approach... [project file] @lib1=/src/dir_1/* @lib2=/src/dir_2/* unit Core; interface uses lib1.UnicodeUtils, lib2.UnicodeUtils; Did you understand now? I did understand before. Now, how will you refer to some element in either unit that has the same name, but different function? Will you have to write lib1.UnicodeUtils.ambigousname, forcing the compiler to add a new level of qualification above the real unit names? Yes, like that, because this is the only way -- by design -- to do that in Pascal. But this is better than Java, for example, because if you have, in Java, two 'imports' that have the same Class, the compiler show an error ambigous name, ie, you do not have this option... but Pascal does. Because that (too) is a good practice in Object Pascal -- IMO of course -- put your units always in last in queue because the compiler will look the identifiers (class, function, const, whatever) from last unit to the first. Example: unit1 - procedure Foo; unit2 - procedure Foo; unit3; interface uses unit1 {first}, unit2 {last}; [...] end; if you call Foo, the compiler will use unit2.Foo procedure. So, I want to use MY class/functions then I always put my units on the last. Now, the contents of the project file show up in your source code, too. Yes, you're right, but this is not my mistake. The compiler was designed so! BUT, if we have the ALIAS parameter like I proposed, this real file names could disappear from our sources. Every unit could be pointed using an alias parameter. Anyway, we'll have to wait what will be implemented. I think so. Perhaps you understand the benefits. I don't see any. Fortunately, Martin Schreiber saw the benefits and he said he will implement this feature. ;-) -- Marcos Douglas -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
On Wed, Nov 20, 2013 at 1:01 PM, Martin Schreiber mse00...@gmail.com wrote: Hi, '()' for procedure header and procedure calling is mandatory. procedure noparams(); begin end; procedure test(); begin noparams(); end; No, no, no...please! :( I know that you want to make a language more ortogonal but exceptions could exist! If you do not have parameters, why I need use this '()'? Parameter separator is ','. procedure params(a: int32, b: int32); begin end; procedure test(); begin params(123,456); end; That's Ok for me. There will be no extra reserved name for functions, functions are defined by ':' TYPE. Return values are supplied by 'return' statement. A 'return' statement before 'end;' is mandatory. procedure func(a: bool8): int32; begin if a then return 123; end; return 458; end; Opinions? I agree that not needs to exist procedure and function keywords, but if one them will be excluded then procedure keyword is the best choice. The most languages uses function so why MSElang can't uses that keyword too? -- Marcos Douglas -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
On Wed, Nov 20, 2013 at 1:01 PM, Martin Schreiber mse00...@gmail.com wrote: Hi, '()' for procedure header and procedure calling is mandatory. procedure noparams(); begin end; procedure test(); begin noparams(); end; No, no, no...please! :( I know that you want to make a language more ortogonal but exceptions could exist! If you do not have parameters, why I need use this '()'? Parameter separator is ','. procedure params(a: int32, b: int32); begin end; procedure test(); begin params(123,456); end; That's Ok for me. There will be no extra reserved name for functions, functions are defined by ':' TYPE. Return values are supplied by 'return' statement. A 'return' statement before 'end;' is mandatory. procedure func(a: bool8): int32; begin if a then return 123; end; return 458; end; Opinions? I agree that not needs to exist procedure and function keywords, but if one them will be excluded then procedure keyword is the best choice. The most languages uses function so why MSElang can't uses that keyword too? -- Marcos Douglas -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
Hallo Michael, Du schriebst am Wed, 20 Nov 2013 11:29:01 +0100: On 11/19/2013 09:31 PM, Sieghard wrote: C doesn't really _have_ enumerated _types_. the compiler seems to think differently as he happily compiles: typedef enum claimUsage_e { LTE_CLAIM_SEM_MGT, LTE_CLAIM_SEM_BASE, LTE_VT_MGT, LTE_VT_BASE } LTE_claimUsage_e; Yes, that's exactly what i described: define[ing] [] symbolic constants using a syntax looking ephemerally similar to an enumeration. The elements of this enumeration are in every respect simple integer constants in C, compatible to any other integer in the code. (C even allows assignments of specific values to such enumeration elements, burning holes in the sequence. Yes, I know, this can be handy at times, but only if these identifiers are used as real integers, not as the values of a specific unique type.) -- -- (Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem) --- Mit freundlichen Grüßen, S. Schicktanz --- -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
Hallo Ivanko, Du schriebst am Wed, 20 Nov 2013 10:08:51 +0500: C doesn't really _have_ enumerated _types_ = ? It has the enum type directly. Don't mix it with #DEFINEd constants. enum defines a sequence of symbolic constants, something C doesn't support natively like Pascal does. Constants defined via #define aren't symbolic constants, but - as even C acknowledges - manifest constants, as the compiler never sees the name, but only the value (or even expression) they're standing for. The names are removed from the code by the preprocessor. -- -- (Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem) --- Mit freundlichen Grüßen, S. Schicktanz --- -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, fixsize numeric base types
Hallo Michael, Du schriebst am Wed, 20 Nov 2013 11:22:41 +0100: Ok, let's look at it this way. Then, what's the value of this lone sign bit? This is obvious. Then give the value. Take a look at the predecessor of zero as done by the algorithm any (modern) ALU does That's simply the same as its successor, because we're dealing with a cyclically ordered number set. Just like, e.g. weekdays. The arithmetic used for these is called modulus arithmetic. Yes, and the values you assign to the symbols (bit patterns, in this case) are just convention. And don't matter as long as no calculation can return a result outside of the base set. -- -- (Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem) --- Mit freundlichen Grüßen, S. Schicktanz --- -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
Hallo Ivanko, Du schriebst am Wed, 20 Nov 2013 10:06:20 +0500: hash code collisions SHA256 too ? Any code that uses fewer bits than the encoded item. Try prove the opposite, and when you succeed, write an article in some high ranking mathematical journal. -- -- (Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem) --- Mit freundlichen Grüßen, S. Schicktanz --- -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
Hallo Michael, Du schriebst am Wed, 20 Nov 2013 12:05:31 +0100: Objects are not constant but more like static classes. And in fact I never said that objects were constant. (They're not static either, as that's an undefined notion with Pascal.) All I said was that you could declare constants (or rather initialized variables) of object _type_. they have not been removed but replaced by enhancing the record concept to allow for what objects were. Happily it seems that Martin They have been officially announced being removed from Delphi. Their reintroduction as an extended variant of a record (what an object type always was, just a specialized form of) came quite some time later. -- -- (Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem) --- Mit freundlichen Grüßen, S. Schicktanz --- -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
Hallo Martin, Du schriebst am Wed, 20 Nov 2013 16:01:49 +0100: '()' for procedure header and procedure calling is mandatory. ... There will be no extra reserved name for functions, functions are defined ... Opinions? Just a question: could you give some symbolic syntax representation? E.g. Backus-Naur representation, railroad diagram or such? This would make it easier to spot inconsistencies and collisions and such. -- -- (Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem) --- Mit freundlichen Grüßen, S. Schicktanz --- -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
Hallo Michael, Du schriebst am Wed, 20 Nov 2013 11:45:56 +0100: _No_ language can make certain that a preprocessor cannot be used. It can make use of the preprocessor syntax itself (e.g. requiring a # at the start of a line for some purpose) No, it _cannot_, because these syntactic elements are _removed_ by the preprocessor. The (real) language processor doesn't see them at all. (BTW, the C preprocessor doesn't _require_ the # to be at the beginning of a line, just in front of its keyword - and it _may_ even be separated by whitespace from the one it _belongs_ to - weird.) _No_ language should depend on the use of a preprocessor. Right. You _do_ say? ... call cpp as a stand alone preprocessor and failed, but succeeding when You might have called it with the wrong syntax. cpp --help gives a long list of options and a description of how to use it. Well, what you write only asks for one single thing: C. I suppose for C this is documented somewhere. Did you find a documentation for some Pascal dialect that contradicts the assumption that it should work that way ? There are several things there that are syntactic errors in Pascal code, at least, of course, if not removed by some program processing the code prior to compiling it: - Pascal doesn't accept lone # characters - Pascal doesn't know the \ line continuation convention - Pascal doesn't use /* and */ as comment delimiters - Pascal doesn't use // as a comment delimiter (although this was introduced as an extension by Delphi FPC) (BTW, there are other styles for single line comments also, e.g. ADA uses --, and some FORTHs use \.) The remaining requirements you stated are very common for any programming language, even for common languages, at least such using the latin based writing system. Of course the origin of the preprocessor is the needs of C programmers, but as Martin will not be writing a new preprocessor, there is no way but using same (if somebody might be in need for this). You could use _any_ program as a preprocessor, even a perl script or awk program, or even something written in Pascal. The C preprocessor has developed into a gargantuan monster never conceived to do what is was made to do. It is a perfect example on how an algorithm that can be defined in just a few lines can be used to do very complex stuff. How big is this C preprocessor you're referring to? The one called cpp on my system is ove half a megabyte in size - machine code, that is. -- -- (Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem) --- Mit freundlichen Grüßen, S. Schicktanz --- -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, compound statements
Hallo Michael, Du schriebst am Wed, 20 Nov 2013 11:59:23 +0100: On 11/19/2013 06:38 PM, Ivanko B wrote: case can. But case: only accepts (compile time) contants in its labels so its usage is restricted. An improved language could do away with this rather silly restriction That's a rather silly statement. Can you describe an implementation of a jump table mechanism using non-constant positions for its entries? -- -- (Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem) --- Mit freundlichen Grüßen, S. Schicktanz --- -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
On Wednesday 20 November 2013 23:01:52 Marcos Douglas wrote: On Wed, Nov 20, 2013 at 1:01 PM, Martin Schreiber mse00...@gmail.com wrote: Hi, '()' for procedure header and procedure calling is mandatory. procedure noparams(); begin end; procedure test(); begin noparams(); end; No, no, no...please! :( I know that you want to make a language more ortogonal but exceptions could exist! If you do not have parameters, why I need use this '()'? In order to show that it is a subroutine call. In FPC it is sometimes necessary anyway to distinguish address, value and call of procedure variables. Can you elaborate in more detail why you don't want to write '()'? There will be no extra reserved name for functions, functions are defined by ':' TYPE. Return values are supplied by 'return' statement. A 'return' statement before 'end;' is mandatory. procedure func(a: bool8): int32; begin if a then return 123; end; return 458; end; Opinions? I agree that not needs to exist procedure and function keywords, but if one them will be excluded then procedure keyword is the best choice. The most languages uses function so why MSElang can't uses that keyword too? Because a 'function' always returns a value. C resolves the problem by the 'void' type, I don't like that approach. Oberon uses 'procedure' too. Martin -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
On Thursday 21 November 2013 00:55:05 Sieghard wrote: Just a question: could you give some symbolic syntax representation? E.g. Backus-Naur representation, railroad diagram or such? This would make it easier to spot inconsistencies and collisions and such. Later when it has been settled down. I don't like to be pinned down or impeached in this early stage. ;-) Martin -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
On Wednesday 20 November 2013 19:38:22 Ivanko B wrote: Returning NEW strings, dynarrays etc refcounted (automatically destroyable) types from function. As usual I still don't understand. procedure strfunc(): msestring; begin return 'The string result'; end; procedure test; var s1: msestring; begin s1:= '' + strfunc() + ''; end; Martin -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
If you do not have parameters, why I need use this '()' === So that visually not to mess them with variables, me guess :) -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
Oberon uses 'procedure' too. === Then better sub[routine] which means both function procedure :) -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
On Thursday 21 November 2013 07:56:12 Ivanko B wrote: Unneeded extra variables incl stack ones stuff lines, smth like : procedure strfunc(): msestring; begin result:= 'The string result:' if 1 2 then result:= result + 'mumu'; else result:= result + 'koko'; end; end; I do not like the not clear definition of 'result', is it a 'var' or 'out' variable? What happens here: procedure strfunc(): msestring; begin if 1 2 then result:= result + 'mumu'; else result:= result + 'koko'; end; end; ? I think it is worth the additional two lines for the variable declaration. I do not like much the terminating 'return' statement, but sub strfunc(): msestring; var result: msestring; begin result:= 'The string result:' if 1 2 then result:= result + 'mumu'; else result:= result + 'koko'; end; end:= result; probably is too exotic. ;-) Martin Martin -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
probably is too exotic. ;-) == Some languages (BASH, TCL,..) return results of last assigmnent :) 'var' or 'out' == looks like var with automanaged memory. It's also possible to call setlength(result, size) etc dynarray-ing. PS: pesronally me use the result:= approach intensilvey thus will miss without the one. -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
Re: [MSEide-MSEgui-talk] MSElang, procedures and functions
It's also possible to define subroutines without keywords at all: - type class1 = class f1: integer; proc1(); fucn1(arg1: integer): bool; end; ipmplementation class1.proc1(); begin [..] end; class1.fucn1(arg1: integer): bool; begin [..] end; -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk