Re: [fpc-devel] Server availability

2011-09-06 Thread Alexander Klenin
On Tue, Sep 6, 2011 at 22:17, Jonas Maebe wrote: >> For at least last few months, I write down bugs I encounter in the local >> file, >> since by the time the "Report Issue" page loads, I forget what I >> wanted to report. >> I suspect the server is severely overloaded. > > In general, not really.

Re: [fpc-devel] Server availability

2011-09-06 Thread Alexander Klenin
On Tue, Sep 6, 2011 at 22:43, Jonas Maebe wrote: > There is one known problem: the server is behind a brain dead firewall, > which drops most icmp packets (except for ping). This includes the > "fragmentation needed" packets used for path mtu discovery > (http://www.networksorcery.com/enp/rfc/rfc1

Re: [fpc-devel] who can explain why array of const can't be passed to another array of const

2011-09-14 Thread Alexander Klenin
On Wed, Sep 14, 2011 at 19:03, Jonas Maebe wrote: > It's more that even though both are called "array of const", they are > completely different things. They also don't support the same types. Perhaps varargs-compatible parameter type should be called something else then? -- Alexander S. Klenin

[fpc-devel] Optimization stops near inline asm

2011-10-02 Thread Alexander Klenin
the following code: {$mode objfpc} var a: Integer; begin a := a + 1; asm nop end; end. generates (under -O2): movlU_P$PROGRAM_A,%eax incl%eax movl%eax,U_P$PROGRAM_A nop instead of a single "incl". removing either "asm" statement OR $mode directiv

Re: [fpc-devel] Optimization stops near inline asm

2011-10-03 Thread Alexander Klenin
2011/10/3 Jonas Maebe : >  asm nop end []; > > then the statement will optimized. Otherwise the compiler assumes that the > contents of eax may still be used inside the assembler block and hence > cannot remove its use. > > The fact that the optimization is performed in case the used register is ax

Re: [fpc-devel] utf-8 package in Free Pascal

2011-10-03 Thread Alexander Klenin
On Mon, Oct 3, 2011 at 21:13, Felipe Monteiro de Carvalho wrote: > On Mon, Oct 3, 2011 at 11:38 AM, Marco van de Voort wrote: >> These things are related to Lazarus UTF8 >> decision and thus logically belong in Lazarus, > > Not really. One can write a non-visual library which uses utf8string > as

Re: [fpc-devel] utf-8 package in Free Pascal

2011-10-03 Thread Alexander Klenin
On Mon, Oct 3, 2011 at 22:40, Florian Klämpfl wrote: > Am 03.10.2011 13:23, schrieb Alexander Klenin: >> >> This way, you can develop much faster, without the need to fight for >> your changes, > > Others call this fighting "review" and consider it as importa

Re: [fpc-devel] utf-8 package in Free Pascal

2011-10-03 Thread Alexander Klenin
On Tue, Oct 4, 2011 at 00:42, Florian Klämpfl wrote: >> Anyway, what I suggest is IMO a good compromise and should satisfy both >> sides -- >> Felipe can continue development of his packages unobstucted, >> while the quality of FPC will not suffer. > > That's why I proposed a branch and that's wha

Re: [fpc-devel] utf-8 package in Free Pascal

2011-10-03 Thread Alexander Klenin
On Tue, Oct 4, 2011 at 01:01, Felipe Monteiro de Carvalho wrote: > > I think we should agree to disagree: Let's delete fpvectorial from > FPC, I'll export it into lazarus/components/fpvectorial and we move > our separate ways. +1 Among other things, this will simplify management of TAChart's fpve

Re: [fpc-devel] utf-8 package in Free Pascal

2011-10-03 Thread Alexander Klenin
On Tue, Oct 4, 2011 at 00:49, Paul Ishenin wrote: > 03.10.2011 21:32, Alexander Klenin wrote: >> >> I'd say there is a continuum between those extremes, and (unfortunately) >> from my point of vew, FPC review is sometimes rather close to the former. >> I have been

Re: [fpc-devel] utf-8 package in Free Pascal

2011-10-03 Thread Alexander Klenin
On Tue, Oct 4, 2011 at 08:48, Michael Van Canneyt wrote: >> There is, again, a continuum between careful development and stangation. >> While acknowledging great work that FPC team has done on the former, >> I'd venture to say that is came uncomfortably close to the latter. > > I'd venture to disa

[fpc-devel] Re: [Lazarus] FPC index/searcher classes committed.

2012-03-11 Thread Alexander Klenin
On Sun, Mar 11, 2012 at 04:29, Michael Van Canneyt wrote: > We'd like people to try it and comment on the design and speed of the > engine, > and if you have suggestions for improvements, they're more than welcome. A good use/test would be to speed up "Find in Files" in Lazarus. -- Alexander S

[fpc-devel] Re: [Lazarus] How to iterate through a TAvgLvlTree

2012-03-16 Thread Alexander Klenin
On Fri, Mar 16, 2012 at 21:06, Mattias Gaertner wrote: > On Fri, 16 Mar 2012 20:47:15 +1100 > Alexander Klenin wrote: > >> On Fri, Mar 16, 2012 at 19:36, Mattias Gaertner >> wrote: >> >> Is it possible to iterate through all items in a TAvgLvlTree? I >> &g

Re: [fpc-devel] Are "C style operators" default or not?

2012-03-27 Thread Alexander Klenin
On Tue, Mar 27, 2012 at 19:30, Mark Morgan Lloyd wrote: > Gennadiy Poryev wrote: >> >> Hi all, >> >> I’ve recently ran into weird problem with “C style operators”. Though the >> story is about Lazarus, I thought I better ask it here. All of a sudden, my >> Lazarus trunk had refused to build >> (ht

[fpc-devel] On experience of using class helpers

2012-04-19 Thread Alexander Klenin
I have used class helpers feature for the first time. (See components/tachart/tachartteechart.pas, r36916). The good news is that I was able to get it working. The bad news is that I have encountered 4 bugs and 1 missing feature in about 10 lines of code :) (Also, Lazaus does not seem to support cl

Re: [fpc-devel] On experience of using class helpers

2012-04-20 Thread Alexander Klenin
On Fri, Apr 20, 2012 at 23:23, Sven Barth wrote: > Am 20.04.2012 05:41 schrieb "Alexander Klenin" : >> The bad news is that I have encountered 4 bugs and 1 missing feature >> in about 10 lines of code :) > > Why do you need to test so much? Just kidding... > I&

Re: [fpc-devel] Breaking change in FPC 2.6.1

2012-04-29 Thread Alexander Klenin
On Fri, Apr 27, 2012 at 20:28, Marco van de Voort wrote: > Calling a virtual(!) method when a bookmark is no longer needed allows to do > other things too, like releasing something with db handles, and allows > descendents of TDataset to do such things. Did you consider declaring TBookmark an int

[fpc-devel] Internal compiler error while compiling Lazarus

2012-05-15 Thread Alexander Klenin
One user reported that latest FPC fails to compile a recent Lazarus: http://bugs.freepascal.org/view.php?id=22029 The bug was assigned to me, but I can't do much about it except to commit some workaround. And I am now away (at ACM ICPC World Finals), so it will take more than a week till my return

Re: [fpc-devel] Differences between 'tsym' and 'tdef'

2012-05-18 Thread Alexander Klenin
On Fri, May 18, 2012 at 12:16 PM, Joost van der Sluis wrote: > I think I can. But in Delphi you can also give a non-exsisting > attribute, ie: > >  TMyClass=class >  private >    FName: string; >  published >    [TThisTypeIsNowhereDefined('You','Can','Enter','Anything','here'1)] >    property Name

[fpc-devel] Scalar value is accepted as an argument for an open array parameter

2012-06-07 Thread Alexander Klenin
The following code compiles both with : procedure F(const A: array of ShortInt); begin end; begin F(1); end. I think this is a bug in FPC, but if not -- it should be documented here: http://freepascal.org/docs-html/ref/refsu59.html#x157-16700014.4.5 I am willing to file an issue one way or anoth

Re: [fpc-devel] Scalar value is accepted as an argument for an open array parameter

2012-06-08 Thread Alexander Klenin
On Fri, Jun 8, 2012 at 6:08 PM, Marc Weustink wrote: > Unfortunately Delphi (6) accepts this too. It took me some time at work to > figure out why some code suddenly behaved weird. (I changed a integer > argument to array of integer and assumed the compiler would help me to find > the places where

Re: [fpc-devel] Scalar value is accepted as an argument for an open array parameter

2012-06-08 Thread Alexander Klenin
On Fri, Jun 8, 2012 at 7:22 PM, Sven Barth wrote: >> I suggest this "feature" to be disabled in objfpc mode then. >> > > This would not be backwards compatible, thus the answer to this request is > most likely: No. On the other hand, FPC has an established history of breaking backwards compatibil

Re: [fpc-devel] Scalar value is accepted as an argument for anopenarray parameter

2012-06-11 Thread Alexander Klenin
On Mon, Jun 11, 2012 at 9:03 AM, Skybuck Flying wrote: >> Unfortunately Delphi (6) accepts this too. It took me some time at work >> Delphi XE2 does not ;) > Delphi XE does not accept constants either, but scalar variables. So the > following compiles: Given the above, I suggest to leave Delph

Re: [fpc-devel] Parallel procedures

2012-06-14 Thread Alexander Klenin
On Fri, Jun 15, 2012 at 9:39 AM, Mattias Gaertner wrote: > What do you think? > Why not -- although IMO it would be much better to have some lagnuage-level support for things like single-owner semantics. Independenty, it seems that the unit should be updated to support "is nested" modifier. --

Re: [fpc-devel] enums and integer auto conversion

2012-09-10 Thread Alexander Klenin
On Tue, Sep 11, 2012 at 8:03 AM, Jonas Maebe wrote: > > If you want to do that, you need to add a layer in between that converts the > sets into integer bitmasks in a reliable, portable and future-proof way. > How about packed sets? Do they have well-defined memory layout? If not, then maybe the

[fpc-devel] Are global variables guaranteed to be zero?

2012-11-27 Thread Alexander Klenin
Will global variables and static global arrays be always initialized to zero? It seems that they in fact are, and there is quite a lot of code relying on it. On the other hand, the documentation denies that. What is the official position? -- Alexander S. Klenin

Re: [fpc-devel] Are global variables guaranteed to be zero?

2012-11-29 Thread Alexander Klenin
On Wed, Nov 28, 2012 at 2:29 PM, Jonas Maebe wrote: > >> Will global variables and static global arrays be always initialized to >> zero? > > Yes. Then I suggest to amend the first paragraph of http://www.freepascal.org/docs-html/ref/refse22.html which directly contradicts this. I have rather cu

[fpc-devel] Please include gmp.dll in Win32 distribution of FPC 2.6.2 and later

2012-12-02 Thread Alexander Klenin
In my ongoing efforts to prevent elimination of Pascal/FPC from a set of languages used to teach programming, I have recently encountered another problem: although FPC does include "gmp" unit for arbitrary-precision calculations, programs compiled with it require "gmp" dynamic library. This library

Re: [fpc-devel] Please include gmp.dll in Win32 distribution of FPC 2.6.2 and later

2012-12-02 Thread Alexander Klenin
On Sun, Dec 2, 2012 at 2:02 PM, Sven Barth wrote: > We can not bundle such libaries as different (Linux) distributions will have > different dependencies like different versions of the libc and then this > library would not load anyway (and Free Pascal would be accused for being > crap because of

Re: [fpc-devel] Please include gmp.dll in Win32 distribution of FPC 2.6.2 and later

2012-12-02 Thread Alexander Klenin
On Sun, Dec 2, 2012 at 2:08 PM, Michael Van Canneyt wrote: > That is a bit of a difficult one. gmp just provides just the interface of an > external library. > If we do it fo this one, we should do it for all the libraries for which we > provide headers. For marketing purposes, mostly. I speak a

Re: [fpc-devel] Please include gmp.dll in Win32 distribution of FPC 2.6.2 and later

2012-12-02 Thread Alexander Klenin
On Sun, Dec 2, 2012 at 2:42 PM, Michael Van Canneyt wrote: >> Writing high-quality arbitrary precision arithmetics is hard. >> The fact that Free Pascal uses GMP instead of homegrown solution has >> actually earned some praise. > > Define homegown ? GMP most likely also is homegrown, as a lot of o

Re: [fpc-devel] Please include gmp.dll in Win32 distribution of FPC 2.6.2 and later

2012-12-02 Thread Alexander Klenin
On Sun, Dec 2, 2012 at 4:52 PM, Tomas Hajny wrote: >> As for fairness, the usual argument is "just solve problems in >> Java/Python", >> which is exactly what I am trying to prevent :) > > Who defines what is the right file to choose if there are multiple > options? I am not sure which options do

Re: [fpc-devel] Unhelpful error message

2012-12-02 Thread Alexander Klenin
On Sun, Dec 2, 2012 at 6:21 PM, Sven Barth wrote: > On 02.12.2012 13:11, Henry Vermaak wrote: > Yes, "<<" and ">>" are converted in scanner stage to "shl" and "shr" which > will give me headaches once I want to support nested specializations > (basically the same problem that C++ had): > > TTest>

Re: [fpc-devel] Please include gmp.dll in Win32 distribution of FPC 2.6.2 and later

2012-12-02 Thread Alexander Klenin
On Sun, Dec 2, 2012 at 9:47 PM, Tomas Hajny wrote: > On 2 Dec 12, at 16:45, Alexander Klenin wrote: >> I am not sure which options do you mean, >> I refer to the dll mentioned here: http://wiki.freepascal.org/gmp > > I meant multiple 2.6.2 installers (in particular, if we

Re: [fpc-devel] Please include gmp.dll in Win32 distribution of FPC 2.6.2 and later

2012-12-05 Thread Alexander Klenin
On Thu, Dec 6, 2012 at 2:16 PM, Nikolay Nikolov wrote: > Just to make it clear how these people usually think, I was part of the > IOI2009 technical committee and I was responsible for setting up the pascal > environment (fpc & lazarus under ubuntu) to work. In that year, Henadzi > Karatkevitch fr

Re: [fpc-devel] Please include gmp.dll in Win32 distribution of FPC 2.6.2 and later

2012-12-06 Thread Alexander Klenin
On Thu, Dec 6, 2012 at 8:29 PM, Jonas Maebe wrote: > If a major problem is really the lack of standard support for > arbitrary-precision arithmetic, does that not mean that C and C++ are no > longer serious options either? Actually, this is considered a drawback of C++ (nobody uses pure C in comp

Re: [fpc-devel] for-in-index loop

2013-01-24 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 4:45 AM, Michael Van Canneyt wrote: > Enumerators are not iterators. Eh... actually, they are? Why do you think otherwise? > If you want a full-fledged iterator, you should use classes. Enumerators *are* classes, except for built-in ones. > The for syntax is not meant for

Re: [fpc-devel] for-in-index loop

2013-01-24 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 7:18 AM, Jeppe Græsdal Johansen wrote: > > I think the idea is good if the feature is implemented as "optional". > > That way: > - If the enumerator class implements a CurrentIndex method then the for loop > can have an index variable. > - If not then the for loop can only

Re: [fpc-devel] for-in-index loop

2013-01-24 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 7:30 AM, Florian Klämpfl wrote: > Am 24.01.2013 20:36, schrieb Alexander Klenin: >> That's debatable. > > As long as there is only some few line idea, there cannot debated much. It is more: an idea with implementation and tests ;) > Just an examp

Re: [fpc-devel] for-in-index loop

2013-01-24 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 7:34 AM, Marco van de Voort wrote: > In our previous episode, Florian Kl?mpfl said: >> As long as there is only some few line idea, there cannot debated much. > > http://www.freepascal.org/faq.var#extensionselect Yes, current discussion is based on that guideline. -- Alex

Re: [fpc-devel] for-in-index loop

2013-01-24 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 7:56 AM, Florian Klämpfl wrote: >>> Just an example: what happens with i if I start to delete from s during >>> the for loop? >> >> Exactly the same thing as in the current for-in loop: either a range check >> error >> of nothing, depending on what you delete. > > How do y

Re: [fpc-devel] for-in-index loop

2013-01-24 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 8:44 AM, Florian Klämpfl wrote: > Am 24.01.2013 22:26, schrieb Alexander Klenin: >> in all three cases, the effect will be more-or-less the same. > > In the first two cases the programmer knows that he does something > strange, actually he can even adju

Re: [fpc-devel] for-in-index loop

2013-01-24 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 9:36 AM, Michael Van Canneyt wrote: >>> If you want full fledged iterators, use classes. >> >> Please provide example of your suggestion for the case in the wiki. > > I don't need to provide *anything*. Of course you do not, this is why I said "please" :) However, it is im

Re: [fpc-devel] for-in-index loop

2013-01-24 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 10:13 AM, Graeme Geldenhuys wrote: > On 01/24/13 19:36, Alexander Klenin wrote: >>> Enumerators are not iterators. >> Eh... actually, they are? Why do you think otherwise? > > Enumerators are limited in functionality. Iterators are the full-blown

Re: [fpc-devel] for-in-index loop

2013-01-24 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 10:38 AM, Graeme Geldenhuys wrote: > On 01/24/13 23:26, Alexander Klenin wrote: >>>>> If you want full fledged iterators, use classes. >>>> >>>> Please provide example of your suggestion for the case in the wiki. >>> >

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Fri, Jan 25, 2013 at 7:07 PM, Michael Van Canneyt wrote: > WITH EACH ADDITIONAL "FEATURE" WE ARE BUTCHERING PASCAL MORE AND MORE. Hm... Do not you think this is a bit of an overstatement? > There are plenty to choose from. He said maybe he'd look after fcl-stl. The > silence since was deafenin

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 3:30 AM, Florian Klämpfl wrote: >> "for-in-index" extension was actually planned by me as a prerequisite >> for fcl-stl work. > > Using indicies is against all principles of iterators. I am not sure what princilpes you are talking about, but accessing the key of the current

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 4:38 AM, Michael Van Canneyt wrote: >>> WITH EACH ADDITIONAL "FEATURE" WE ARE BUTCHERING PASCAL MORE AND MORE. >> Hm... Do not you think this is a bit of an overstatement? > No, not really. I really feel that we are deviating a lot from what pascal > stands for. If you me

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 5:12 AM, Daniël Mantione wrote: >> Consider these arguments: >> 1) Even for simple arrays, depending on array element type, >> and optimizer implementation, for-in can be more efficient since it >> can avoid multiplication for element access. > True, but it shouldn't. Loop

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 6:11 AM, Sven Barth wrote: > I think he also means things like (without critizing): Yes, thank for a dose of sanity :) Few more examples, taken from just one standard package: while Node.NextBrother<>nil do begin ... Node:=Node.NextBrother; end; while Node<>nil do b

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 5:30 AM, Florian Klämpfl wrote: > Am 25.01.2013 18:17, schrieb Alexander Klenin: >>> Using indicies is against all principles of iterators. >> I am not sure what princilpes you are talking about, > > The theory of iterators. You mean Alexande

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 6:59 AM, Sven Barth wrote: >> What is "concrete code"? The code I provided only missed loop bodies. >> I can provide that too, but I do not think it will add anything to the >> discussion. > > I believe he wants to have real world examples (of other languages) where > this

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 7:10 AM, Mark Morgan Lloyd wrote: > However, I'd suggest that there are two possible category of extension: > those that implement a clearly-delimited first-class object with interesting > properties, and those that don't. > > Something like a , or a /regular expression/ (b

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 5:30 AM, Florian Klämpfl wrote: > Where? Concrete code of a serious language! Not some "oh, yes, this > language has it and that as well" On Sat, Jan 26, 2013 at 7:34 AM, Florian Klämpfl wrote: > No. I want to see a language which provides something like the explicit > i

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 8:54 AM, Florian Klämpfl wrote: > Maybe I wouldn't have to ask if there would be a clear proposal what > shall be implemented, what are alternatives, what do other languages, > why is a so strange approach chosen etc. I agree that the quality of initial proposal could be b

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 9:27 AM, Sven Barth wrote: > > Regarding tuples: > http://wiki.oxygenelanguage.com/en/Tuples I know, but I consider this particular implementation an unpleasant example of "no need to change the language -- lets do it in the library" philosophy. Just look: >The Tuple type i

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 9:31 AM, Sven Barth wrote: > After implementing support for Delphi style generics I came to the > conclusion that I would have preferred the following syntax: > > type > TFPGListLongInt = specialize TFPGList as (Integer); > > or > > type > TFPGListLongInt = specialize T

Anonymous procedures (Was: Re: [fpc-devel] for-in-index loop)

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 5:17 AM, Sven Barth wrote: > One could also do an alternative (though currently not with arrays, but with > type helper support even that would be possible...): Yes, this is certainly the most interesting alternative. Actually, anonymous procedures/closures is the "real" t

Re: [fpc-devel] for-in-index loop

2013-01-25 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 9:50 AM, Marco van de Voort wrote: >> Whatever the particular syntax, I do agree that the decision to use >> angular brackets >> was unnecessarily copied from C++ -- round ones (or, at least, square >> ones) would be much better. > > Delphi got its generics from .NET. The .

Re: [fpc-devel] for-in-index loop

2013-01-26 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 10:50 PM, Sven Barth wrote: >> Generics was implemented without my knowledge. I only found out when >> suddenly >> the classes unit had been changed to use them. After a horrible >> discussion, this was reversed, because of the drop in speed you got when >> using generics.

Re: [fpc-devel] for-in-index loop

2013-01-26 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 10:34 PM, Michael Van Canneyt wrote: > But if I must choose between > > for a,b in c do > > (with C a tuple enumerator/iterator) or > > for a in c index b do > > Then the former is ten times (well, a lot) better. > > So if someone were to introduce that to solve the origina

Re: [fpc-devel] for-in-index loop

2013-01-26 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 10:58 PM, Sven Barth wrote: > > I mean less the implementation specific details, but more the syntax they > chose: > > === example begin === > > TTestTuple = tuple of (Integer, String, TObject); > > var > t: TTestTuple; > i: Integer; > s: String; > o: TObject; > beg

Re: [fpc-devel] for-in-index loop

2013-01-26 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 3:14 PM, Hans-Peter Diettrich wrote: > Alexander Klenin schrieb: >> 2) Indeed, introducing tuples to Pascal might be an alternative >> solution. Below is a proposal: >> 2.1) Tuple definition. Tuple is an anonymous list of values, possibly >> of

Re: Anonymous procedures (Was: Re: [fpc-devel] for-in-index loop)

2013-01-26 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 12:26 AM, Paul Ishenin wrote: > 26.01.13, 6:57, Alexander Klenin пишет: > > Why to invent a new solution if Delphi already have one: > http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/anonymousmethods_xml.html >

Re: Anonymous procedures (Was: Re: [fpc-devel] for-in-index loop)

2013-01-26 Thread Alexander Klenin
On Sat, Jan 26, 2013 at 8:31 PM, Sven Barth wrote: > On 25.01.2013 23:57, Alexander Klenin wrote: >> You have also proposed lambda-expressions: >>> >>> map.Iterate(lambda TFPGMapLongInt.TIteratorProc(aKey, aData) as >>> Writeln(aKey, ' => ', aDat

Re: Anonymous procedures (Was: Re: [fpc-devel] for-in-index loop)

2013-01-26 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 1:59 AM, kyan wrote: >> I assume this is because anonymous functions are not plain methods. Thus >> they are not compatible with TMethod (the type behind "procedure/function of >> object"). They are instead based on a different (internal) type. > > Please take a look at thi

Re: [fpc-devel] for-in-index loop

2013-01-26 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 1:05 AM, Mark Morgan Lloyd wrote: > Sven Barth wrote: > Some way of extending a single value to fill a tuple where all the elements > are of the same type would be useful, note that I'm not suggesting any other > relaxation of type checking. > > (x, y, z) := (0, 0, 0);

Re: Anonymous procedures (Was: Re: [fpc-devel] for-in-index loop)

2013-01-26 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 3:10 AM, Sven Barth wrote: > On 26.01.2013 16:34, Alexander Klenin wrote: >> Ok, then let's take just one step back: >> SomeProc(lambda TProc1 as Writeln(aArg)); >> >> This way, but problems are solved -- procedure type is specified >>

Re: Anonymous procedures (Was: Re: [fpc-devel] for-in-index loop)

2013-01-26 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 3:51 AM, Marco van de Voort wrote: > In our previous episode, Alexander Klenin said: >> > >> > Please take a look at this: >> > http://blog.barrkel.com/2010/01/using-anonymous-methods-in-method.html >> >> While this article

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-26 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 4:43 AM, Sven Barth wrote: > Based on the results of the "for-in-index" thread I've decided to come up > with a draft for the Tuple type which is thought by many people to be a > better alternative to "for-in-index". > > Please note the following points: > * This is not the

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-26 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 8:40 AM, Mark Morgan Lloyd wrote: > If you can't define a tuple type then you can't check that it's > assignment-compatible with e.g. an array. I do not see a link here. >> 2.2) Tuples construction: after some thinking, I propose to define a >> plain comma as an operator c

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-26 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 12:11 PM, Alexander Klenin wrote: > Nothin useful is gained by abbing extra pair of brackets. Sorry, I mean "Nothing useful is gained by adding ..." -- Alexander S. Klenin ___ fpc-devel maillist

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-27 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 12:35 PM, Hans-Peter Diettrich wrote: >> (a, b) := (b, a); // the compiler needs to ensure the correct usage of >> temps here! > > > What will happen here? > > At compile time a tuple type (integer; integer) has to be defined, and an > instance must be allocated for it. I

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-27 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 10:10 PM, Michael Van Canneyt wrote: >> 2.1) Tuples are always temporary and anonymous. You can not store a >> tuple, define tuple type, of variable of tuple type. >> So tuples are 100% static, compile-time feature -- no change to >> RTTI, variants etc. > No. > > I think t

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-27 Thread Alexander Klenin
On Sun, Jan 27, 2013 at 11:29 PM, Michael Van Canneyt wrote: >> >> Let me restate: >> 1) Tuple as a type does nothing new compared to a record, except for >> possibility to omit field names. > That's all we need. I disagree. In fact, the ability to omit field names is, in my opinion, the least val

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-27 Thread Alexander Klenin
On Mon, Jan 28, 2013 at 1:26 AM, Paul Ishenin wrote: > 27.01.13, 1:43, Sven Barth wrote: >> >> Based on the results of the "for-in-index" thread I've decided to come >> up with a draft for the Tuple type which is thought by many people to be >> a better alternative to "for-in-index". > I think it

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-27 Thread Alexander Klenin
On Mon, Jan 28, 2013 at 1:38 AM, Jonas Maebe wrote: > you no longer have a tuple type, but rather a > deconstruct_into_component_types() > type conversion operator along with anonymous records. Yes, this is quite close to what I wanted to propose. I am glad someone has understood me :) Please see

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-27 Thread Alexander Klenin
On Mon, Jan 28, 2013 at 2:01 AM, Martin wrote: >> Of course. But note that in this thread, many more uses of tuples >> (which I do NOT want to make a type -- see my previous mail for >> lengthy explanation why). >> Some of the uses are: record and array constructors, adaptation of >> inconvenient

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-27 Thread Alexander Klenin
On Mon, Jan 28, 2013 at 2:59 AM, Michael Van Canneyt wrote: > > > On Mon, 28 Jan 2013, Alexander Klenin wrote: >> I have a compromise suggestion: >> Implement for-index extension with the syntax: >> for (k, v) in a do >> this syntax is forward-compatible with bo

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-27 Thread Alexander Klenin
On Mon, Jan 28, 2013 at 4:19 AM, Michael Van Canneyt wrote: > Define an iterator type/operator. > > - No interface > - No 'specially named function' in the class. The iterator should be > separate from the class. > Now they promoted 1 function with a special name to a special status: > 'GetEnumera

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-27 Thread Alexander Klenin
On Mon, Jan 28, 2013 at 4:46 AM, Hans-Peter Diettrich wrote: > Preface: In the following I assume that tuples can be implemented by > records. The proposed syntax extensions can be applied to records as well, > they are not restricted to a new type. Ok, with a few caveats listed below. >> Any ti

Re: [fpc-devel] for-in-index loop

2013-01-28 Thread Alexander Klenin
On Tue, Jan 29, 2013 at 12:39 AM, Paul Ishenin wrote: >>> I would use anonymouse methods in pascal - I use them in javascript >>> when I need to perform something asynchronosly. >> >> >> Since you can do the same with simple named methods too, I see no need >> for creating the readibility horror t

Re: [fpc-devel] RFC: Support for new type "tuple" v0.1

2013-01-28 Thread Alexander Klenin
On Mon, Jan 28, 2013 at 7:25 PM, Hans-Peter Diettrich wrote: >> Consider these examples: >> var >> x, y, z: Integer; >> pt: TPoint; >> ... >> (x, y) // record a, b: Integer; end; >> (x, (y))// record a, b: Integer; end; >> (x, (y, z))//

Re: [fpc-devel] Testsuite database

2013-02-02 Thread Alexander Klenin
On Sat, Feb 2, 2013 at 7:42 PM, Nikolai Zhubr wrote: > > Apparently the test suite database needs some love? Wow, I did not even know such a thing existed! How is it populated? -- Alexander S. Klenin ___ fpc-devel maillist - fpc-devel@lists.freepasca

Re: [fpc-devel] Feature announcement: Type helpers

2013-02-06 Thread Alexander Klenin
On Wed, Feb 6, 2013 at 10:31 PM, Michael Schnell wrote: >> point.x := x; >> point.y := y; >> s := point.ToString; >> > or > s := (x,y).ToString; > > Has there not recently been a discussion on Tupels ?!?!?! :-) > At least according to my proposal, tuples will not be a type, so you'll have

Re: [fpc-devel] Summer of code collaboration

2013-02-10 Thread Alexander Klenin
On Sat, Feb 9, 2013 at 1:13 PM, Vittorio Giovara wrote: > I think we could make this work thanks to the Google Summer of Code! This > program (*if* they announce it) basically introduces students to the world > of FOSS development by having them work on projects for an open source > organization d

Re: [fpc-devel] Delphi anonymous methods

2013-03-03 Thread Alexander Klenin
On Sun, Mar 3, 2013 at 11:21 PM, Sven Barth wrote: >> This will also help to split implementation. >> 1. Implement Sven's proposal. Anonymous functions which can capture >> local variables only by value. >> 2. Create Delphi-compatible capturing by reference. >> 3. Discuss and implement short lamb

Re: [fpc-devel] Delphi anonymous methods

2013-03-03 Thread Alexander Klenin
On Mon, Mar 4, 2013 at 11:15 AM, Graeme Geldenhuys wrote: > >From what I can see, anonymous methods are just like the above code... > allowing a declaration of a procedure/method in-line inside a code block > where in shouldn't belong. It is very, very un-Pascal like. Because computer science is

Re: [fpc-devel] Delphi anonymous methods

2013-03-03 Thread Alexander Klenin
On Mon, Mar 4, 2013 at 4:06 PM, Boian Mitov wrote: > Here is another even simpler example: > > AItem := GComponentEditorList.Find( >function( AItem : IComponentEditorItem ) : Boolean >begin > Result := ( AComponent is AItem.GetInstance().ComponentCl

Re: [fpc-devel] Delphi anonymous methods

2013-03-03 Thread Alexander Klenin
On Mon, Mar 4, 2013 at 2:38 PM, Martin wrote: > Closures, do not need to be written/declared in the middle of other code > (in-line) Strictly speaking, they do not. However, if the closures are required to be named, their expressive power and readability will suffer greatly. Nevertheless, I ag

Re: [fpc-devel] Delphi anonymous methods

2013-03-04 Thread Alexander Klenin
On Mon, Mar 4, 2013 at 10:35 PM, Martin wrote: > On 04/03/2013 06:06, Boian Mitov wrote: >> >> It may be a good idea to analyze the current Delphi implementation. >> In essence the anonymous method expands to a class and interface. >> The interface Execute method has the parameters of the anonymou

Re: [fpc-devel] Delphi anonymous methods

2013-03-04 Thread Alexander Klenin
On Mon, Mar 4, 2013 at 10:34 PM, Martin wrote: > Nevertheless, I agree what the implementation plan can be detailed even > further: > 1) Anonymous procedures *without* closures -- basically, just another > syntax for nested procedures. > > That might be interested for mode Delphi No, this would be

Re: [fpc-devel] Delphi anonymous methods

2013-03-04 Thread Alexander Klenin
On Tue, Mar 5, 2013 at 1:28 AM, Michael Van Canneyt wrote: > Pascal is declarative, Please... no, Pascal is not declarative, and we have establised that fact just about two weeks ago. >not functional. >Trying to import elements from the second into the first is misguided. Pascal is also procedura

Re: [fpc-devel] Delphi anonymous methods

2013-03-04 Thread Alexander Klenin
On Tue, Mar 5, 2013 at 1:49 AM, Sven Barth wrote: >> The use of "as" is based on an idea of mine. C# for example has "=>" and > Oxygene has "->" which I didn't consider much Pascal like. Also the compiler > needs to know the type of the lambda so it can correctly typecheck its code > (after all we

Re: [fpc-devel] Delphi anonymous methods

2013-03-04 Thread Alexander Klenin
On Tue, Mar 5, 2013 at 2:10 AM, Martin wrote: > > First: Stressing out: I don't like it. But if we must have one, the lambda > approach is the best one yet. > Reason: At least the type is declared at a pascal-like location. I certainly agree that it is subjective in the sense that some persons do

Re: [fpc-devel] Delphi anonymous methods

2013-03-04 Thread Alexander Klenin
On Tue, Mar 5, 2013 at 3:34 AM, Martin wrote: > On 04/03/2013 16:05, Alexander Klenin wrote: >> >> Anonymous functions (with good syntax, of course) fall in this category. >> The world recognized that fact -- rather slowly, to be sure, but >> remember that "while&q

Re: [fpc-devel] Delphi anonymous methods

2013-03-05 Thread Alexander Klenin
On Tue, Mar 5, 2013 at 9:10 PM, Paul Ishenin wrote: > 05.03.13, 17:55, Sven Barth wrote: > > I see you, Graeme, Michael and probably some more 5-6 developers. > The level of Delphi compatibility vs. syntax quality is, as always in engineering, a matter of compromise and cost/benefit analysis. For

Re: [fpc-devel] Delphi anonymous methods

2013-03-05 Thread Alexander Klenin
On Tue, Mar 5, 2013 at 10:24 PM, Marco van de Voort wrote: >> Just to say one thing clear: I will NOT drop FPC's generic >> implementation and I'll revert every commit that tries to do so, because >> not only do we have to keep backwards compatibility, but the Delphi >> syntax is a nightmare to pa

Re: [fpc-devel] Delphi anonymous methods

2013-03-05 Thread Alexander Klenin
On Wed, Mar 6, 2013 at 12:16 AM, Sven Barth wrote: > > SomeVar := SomeFunc - SomeType.SomeMethod * > SomeOtherType.SomeMethod; > > === example end === > > while this will be much easier to implement: > > === example begin === > > SomeVar := specialize SomeFunc - specialize > SomeType.SomeMethod *

Re: [fpc-devel] Delphi anonymous methods

2013-03-05 Thread Alexander Klenin
On Wed, Mar 6, 2013 at 12:27 AM, Sven Barth wrote: > I don't know why the one who first implemented them chose them, but now the > reason is backwards compatibility. > > Please note that I wouldn't have choosen round brackets either (potential > conflicts with type casting) Is not "specialize" ke

  1   2   3   4   >