Am 02.03.2013 23:17, schrieb Michael Ring:
I am not sure if I have hit work in progress code here
my arm-embedded app crashes during initialization, the reason is that
now exceptions are part of the rtl but there is no properly initialized
heapmanager:
Procedure InitExceptions;
{
Op Sun, 3 Mar 2013, schreef Martin Schreiber:
BTW, a significant percentage of the time is waiting for FPC compiling because
FPC normally crashes without -B.
I think you should focus your efforts on getting those bugs fixed, such as
by submitting bug reports that allow reproduction of the
On Sunday 03 March 2013 10:04:54 Daniël Mantione wrote:
Op Sun, 3 Mar 2013, schreef Martin Schreiber:
BTW, a significant percentage of the time is waiting for FPC compiling
because FPC normally crashes without -B.
I think you should focus your efforts on getting those bugs fixed, such as
Am 03.03.2013 10:46, schrieb Martin Schreiber:
On Sunday 03 March 2013 10:04:54 Daniël Mantione wrote:
Op Sun, 3 Mar 2013, schreef Martin Schreiber:
BTW, a significant percentage of the time is waiting for FPC compiling
because FPC normally crashes without -B.
I think you should focus your
On 03.03.2013 08:23, Martin Schreiber wrote:
On Sunday 03 March 2013 08:12:28 Martin Schreiber wrote:
On Saturday 02 March 2013 11:28:25 Michael Van Canneyt wrote:
On Sat, 2 Mar 2013, Martin Schreiber wrote:
On Saturday 02 March 2013 10:52:18 Michael Van Canneyt wrote:
Anyway, what seems
On Sunday 03 March 2013 10:42:09 Sven Barth wrote:
Do you mean compiling the compiler? If so than for real tests you SHOULD
NOT compile the compiler by hand, but only through make cycle in the
compiler directory or make all in the top level directory. This will
ensure that the compiler is
Simple solutions are the best ;-) Thanks for opening my eyes to this
easy approach.
I have created a patch for heapmgr.pp, could I ask you to commit it to svn?
For a little more flexible solution I would like to ask you one more
questions, it may seem dumb to you but I have never been that
On 03.03.2013 08:07, Vasiliy Kevroletin wrote:
If the x is really located in the FrameObject and that object exists
only once then it is rather likely that the output of 'Before 123: '
is different from the output of 'After 123: ', right? Again I think
this is a bad thing...
I was wrong. Local
On 03.03.2013 06:08, Vasiliy Kevroletin wrote:
Do you have any ideas how and why such behaviour implemented ?
Now I can answer my question myself. *Local variables of anonymous
method are located on stack*.
I would have wondered about the state of mind of the Embarcadero
developers if it
On 03.03.2013 11:04, Michael Ring wrote:
For a little more flexible solution I would like to ask you one more
questions, it may seem dumb to you but I have never been that deep into
a compiler before so I am learning a lot atm.
I can see that the compiler param -Ch can be used to define the
On 03.03.2013 11:08, Martin Schreiber wrote:
On Sunday 03 March 2013 10:42:09 Sven Barth wrote:
Do you mean compiling the compiler? If so than for real tests you SHOULD
NOT compile the compiler by hand, but only through make cycle in the
compiler directory or make all in the top level
On 03/03/2013 09:11 PM, Sven Barth wrote:
On 03.03.2013 06:08, Vasiliy Kevroletin wrote:
Do you have any ideas how and why such behaviour implemented ?
Now I can answer my question myself. *Local variables of anonymous
method are located on stack*.
I would have wondered about the state of
Maybe specifying how a variable should be captured would be a solution
that can satisfy both worlds...
Good.
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
This helped me to understand another puzzle piece.
Please correct me if I am wrong:
sram - Memory is divided in several areas on arm-embedded:
_data starts at start of sram ($2000 in my case)
_edata is end of _data segment ($29b4)
_bss_start defines start of static vars ($29b4)
On 03.03.2013 12:26, Vasiliy Kevroletin wrote:
Maybe specifying how a variable should be captured would be a solution
that can satisfy both worlds...
Good.
This will also help to split implementation.
1. Implement Sven's proposal. Anonymous functions which can capture
local variables only
On Sun, 3 Mar 2013, Martin Schreiber wrote:
On Sunday 03 March 2013 08:12:28 Martin Schreiber wrote:
On Saturday 02 March 2013 11:28:25 Michael Van Canneyt wrote:
On Sat, 2 Mar 2013, Martin Schreiber wrote:
On Saturday 02 March 2013 10:52:18 Michael Van Canneyt wrote:
Anyway, what seems
On Sun, Mar 3, 2013 at 11:21 PM, Sven Barth pascaldra...@googlemail.com 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
03.03.13, 22:09, Alexander Klenin пишет:
I agree with the plan. But I am not sure about the order -- perhaps
implement Delphi-compatible variant first, since it have to be done anyway,
and there is already a spec for it.
I also vote for Delphi-compatible feature the first, then implement
On 03.03.2013 15:09, Alexander Klenin wrote:
On Sun, Mar 3, 2013 at 11:21 PM, Sven Barth pascaldra...@googlemail.com 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
On 29.01.2013 13:21, Sven Barth wrote:
Am 29.01.2013 07:34, schrieb Blaise Thorn:
On 16.12.2012 20:52, Sven Barth wrote:
out of curiosity I have taken a look at your closure branch. Can it be that you
forgot to commit the pnameless unit?
I did not actually forget, just got distracted,
On 03.03.2013 17:00, Blaise Thorn wrote:
On 29.01.2013 13:21, Sven Barth wrote:
Am 29.01.2013 07:34, schrieb Blaise Thorn:
On 16.12.2012 20:52, Sven Barth wrote:
out of curiosity I have taken a look at your closure branch. Can it
be that you forgot to commit the pnameless unit?
I did not
On Sun, Mar 3, 2013 at 1:28 AM, Sergei Gorelkin sergei_gorel...@mail.ru wrote:
03.03.2013 2:53, Flávio Etrusco пишет:
Hello,
what's the current state of the SEH in FPC trunk?
IIRC - and according to wikipedia ;-) - SEH, at least for Windows, was
in the 2.7 roadmap, but I can't find any
On 03.03.2013 17:45, Flávio Etrusco wrote:
On Sun, Mar 3, 2013 at 1:28 AM, Sergei Gorelkin sergei_gorel...@mail.ru wrote:
03.03.2013 2:53, Flávio Etrusco пишет:
Hello,
what's the current state of the SEH in FPC trunk?
IIRC - and according to wikipedia ;-) - SEH, at least for Windows, was
in
On 03.03.2013 17:52, Sven Barth wrote:
On 03.03.2013 17:45, Flávio Etrusco wrote:
On Sun, Mar 3, 2013 at 1:28 AM, Sergei Gorelkin
sergei_gorel...@mail.ru wrote:
03.03.2013 2:53, Flávio Etrusco пишет:
Hello,
what's the current state of the SEH in FPC trunk?
IIRC - and according to wikipedia
On Friday 01 March 2013 18:33:56 Martin Schreiber wrote:
[...]
On Linux, same computer, OpenSUSE 12.2, comparison FPC 2.6.2, Kylix 3,
Source (master branch a4172602c45fe5abc931dee8b8ae2f4744ee70f3):
http://gitorious.org/mseide-msegui
Command line Kylix 3:
dcc -D+ -Aclasses=Classes
Am 02.03.2013 11:11, schrieb Martin Schreiber:
On Saturday 02 March 2013 10:52:18 Michael Van Canneyt wrote:
Anyway, what seems obvious from your numbers is that it is the linking
stage that needs speedup. This does not really come as a surprise.
On Windows FPC linking time of MSEide is
In our previous episode, Michael Van Canneyt said:
I'm sorry, but I do not share your focus on speed. I have many projects,
some of them have more units than mseide does, and yet I never have to wait
more than a couple of seconds. The only exception is the Lazarus IDE.
No, I have also seen
I just saw that armv6m has showed up in the sourcecode of trunk version.
You guys are great, thank you very much
I just checked, I do have a LPCXpresso LPC812 Board here, now I can put
it to good use!
Michael
___
fpc-devel maillist -
On Sun, 3 Mar 2013, Martin Schreiber wrote:
On Friday 01 March 2013 18:33:56 Martin Schreiber wrote:
[...]
On Linux, same computer, OpenSUSE 12.2, comparison FPC 2.6.2, Kylix 3,
Source (master branch a4172602c45fe5abc931dee8b8ae2f4744ee70f3):
http://gitorious.org/mseide-msegui
Impressive.
I am running on a mac, building svn 23683
svn 23681 (one before implementation of armv6m) compiles fine.
commandline for building was:
make clean buildbase CROSSINSTALL=1 OS_TARGET=embedded CPU_TARGET=arm
SUBARCH=armv7m CROSSOPT=-gw2 -O- BINUTILSPREFIX=arm-none-eabi-
make -C rtl all
make
On Sunday 03 March 2013 20:08:43 Michael Van Canneyt wrote:
On Sun, 3 Mar 2013, Martin Schreiber wrote:
On Friday 01 March 2013 18:33:56 Martin Schreiber wrote:
[...]
On Linux, same computer, OpenSUSE 12.2, comparison FPC 2.6.2, Kylix 3,
Source (master branch
Am 03.03.2013 20:40, schrieb Martin Schreiber:
On Sunday 03 March 2013 20:08:43 Michael Van Canneyt wrote:
On Sun, 3 Mar 2013, Martin Schreiber wrote:
On Friday 01 March 2013 18:33:56 Martin Schreiber wrote:
[...]
On Linux, same computer, OpenSUSE 12.2, comparison FPC 2.6.2, Kylix 3,
Source
Am 03.03.2013 19:51, schrieb Michael Ring:
I just saw that armv6m has showed up in the sourcecode of trunk version.
You guys are great, thank you very much
I just checked, I do have a LPCXpresso LPC812 Board here, now I can put
it to good use!
Note that it is still work in progress.
On 2013-03-03 19:47, Florian Klämpfl wrote:
First 10 m of a marathon done.
Is that 'miles' or 'meters'? ;-)
Regards,
- Graeme -
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/
___
fpc-devel
I've already downloaded the latest Datasheet from NXP ;-)
I am very glad that I decided to switch from closed source compilers
from mikroe.com to freepascal, the current speed of development for
embedded target is quite impressive and in many areas I can help myself
because everything is open
I have created a new patch, this time it uses the values of the two
commandline parameters -Ch and -Cs to set the size of Stack and Heap. I
am not sure if those params were for this use case but in my opinion it
makes sense.
Florian, could I ask you to apply the patch to trunk if what I am
Am 03.03.2013 21:27, schrieb Michael Ring:
I have created a new patch, this time it uses the values of the two
commandline parameters -Ch and -Cs to set the size of Stack and Heap. I
am not sure if those params were for this use case but in my opinion it
makes sense.
Florian, could I ask
On 2013-03-03 14:09, Michael Ring wrote:
I am running on a mac, building svn 23683
svn 23681 (one before implementation of armv6m) compiles fine.
commandline for building was:
make clean buildbase CROSSINSTALL=1 OS_TARGET=embedded CPU_TARGET=arm
SUBARCH=armv7m CROSSOPT=-gw2 -O-
That would of course be even better, the compiler could calculate if
vars+stack+heap fit in the given memory configuration and issue at
minimum a warning or even better a compile error.
But this is definitely something that is out of my league, Florin, could
you implement this?
Michael
Am
Am 03.03.2013 22:09, schrieb Michael Ring:
That would of course be even better, the compiler could calculate if
vars+stack+heap fit in the given memory configuration and issue at
minimum a warning or even better a compile error.
But this is definitely something that is out of my league,
Am 03.03.2013 20:09, schrieb Michael Ring:
$
$00142333
$00144647
$00144B00
$001AF725
$001970A5
$0003295E
make[3]: *** [system.ppu] Error 217
make[2]: *** [embedded_all] Error 2
make[1]: *** [rtl_all] Error 2
make: *** [base.build-stamp.arm-embedded] Error 2
Verified, works again on my mac, TnX!
Michael
Am 03.03.13 23:00, schrieb Florian Klämpfl:
Am 03.03.2013 20:09, schrieb Michael Ring:
$
$00142333
$00144647
$00144B00
$001AF725
$001970A5
$0003295E
make[3]: *** [system.ppu] Error 217
make[2]: *** [embedded_all]
On Sun, Mar 3, 2013 at 5:16 PM, Graeme Geldenhuys
gra...@geldenhuys.co.uk wrote:
On 2013-03-03 19:47, Florian Klämpfl wrote:
First 10 m of a marathon done.
Is that 'miles' or 'meters'? ;-)
Sad. Instead of fight, why not walking together?
IMHO Martin Schreiber is doing a great job using
On 04/mar/2013, at 00:21, Marcos Douglas m...@delfire.net wrote:
On Sun, Mar 3, 2013 at 5:16 PM, Graeme Geldenhuys
gra...@geldenhuys.co.uk wrote:
On 2013-03-03 19:47, Florian Klämpfl wrote:
First 10 m of a marathon done.
Is that 'miles' or 'meters'? ;-)
Sad. Instead of fight, why not
On Sun, Mar 3, 2013 at 8:29 PM, Vittorio Giovara
vittorio.giov...@gmail.com wrote:
On 04/mar/2013, at 00:21, Marcos Douglas m...@delfire.net wrote:
[cut]
FPC Team:
Try to hear Martin otherwise, because he is a great developer with great
ideas.
I am no fpc dev here, but patches are
On 2013-03-03 23:21, Marcos Douglas wrote:
Sad. Instead of fight, why not walking together?
I'm not joining any fight, simply wanted to know what the 'm' stood for.
I do not know nothing about compilers, but I know the Florian Klämpfl
will do nothing about you're saying because do you do
On 2013-03-02 19:03, vrt277 wrote:
I want to implement support of Delphi anonymous methods for fpc.
Just curious... why must such a feature be allowed in Object Pascal?
Referring to the recent butchering of the Object Pascal language
thread we had recently in fpc-pascal.
It was clearly
On Sun, Mar 3, 2013 at 9:00 PM, Graeme Geldenhuys
gra...@geldenhuys.co.uk wrote:
On 2013-03-03 23:21, Marcos Douglas wrote:
Sad. Instead of fight, why not walking together?
I'm not joining any fight, simply wanted to know what the 'm' stood for.
I know. I just used the last mail on this
On Sun, Mar 3, 2013 at 9:15 PM, Graeme Geldenhuys
gra...@geldenhuys.co.uk wrote:
On 2013-03-02 19:03, vrt277 wrote:
I want to implement support of Delphi anonymous methods for fpc.
Just curious... why must such a feature be allowed in Object Pascal?
Referring to the recent butchering of the
Strongly disagree.
Anonymous methods are a critical feature of any mother language, and allow
vast improvements of the code and the readability. I recently started
rewriting our libraries with anonymous methods and that alone allowed for
cutting over 2 lines of code, while adding vast
On 04/03/2013 01:47, Boian Mitov wrote:
Strongly disagree.
Anonymous methods are a critical feature of any mother language, and
allow vast improvements of the code and the readability. I recently
started rewriting our libraries with anonymous methods and that alone
allowed for cutting over
Yes, really!
Then again this is over 4 mln mines of code after all. :-D
Thank you for letting me know what closure is :-D . Can you imagine, me
being component vendor for over 16 years and not knowing what closure is
:-D.
Anonymous methods lead to a different way of thinking altogether and
Actually the biggest benefit was that it now allows me to design parallel
execution code of complexity I was not able to design otherwise. I am just
starting to scratch the surface. Hell... I have not even started really
using the anonymous methods yet :-D .
With best regards,
Boian Mitov
On Mon, Mar 4, 2013 at 11:15 AM, Graeme Geldenhuys
gra...@geldenhuys.co.uk 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
100% agree revolutionary is a very good word to describe it indeed! :-) .
I remember people asking in the old days, why we need objects. Those ware
old school Pascal people claiming that they can do just fine with records,
and who needs classes :-D . They ware so un Pascal ! :-D .
I am not
On 04/03/2013 03:49, Boian Mitov wrote:
Yes, really!
Then again this is over 4 mln mines of code after all. :-D
Thank you for letting me know what closure is :-D . Can you imagine,
me being component vendor for over 16 years and not knowing what
closure is :-D.
Did I? Wow, I didn't know I did.
Here is example:
Parallel execution with selection of executor:
for i := 0 to AMaxScaleIndex - 1 do
begin
APerIterationLocations.Add( TRTDynamicListTVLImageRect.Create() );
AExecutionTask.Add( AExecutor.Execute(
procedure()
begin
ProcessOne( levelScale[ i ], img,
One thing for sure, I probably will very much never need to declare TThread
inherited classes. I can use a single anonymous method for that, thanks to
the ability of the anonymous method to capture local and member variables.
This is something not doable with closure as it has fixed number of
Here is another even simpler example:
AItem := GComponentEditorList.Find(
function( AItem : IComponentEditorItem ) : Boolean
begin
Result := ( AComponent is
AItem.GetInstance().ComponentClass );
end
);
In this case you
Or even more drastic example like this one:
AAttributes := TRTRtti.GetType(
Component.ClassType() ).GetCustomAttributes(
TVLCommonFilterHostedPreviewAttribute, True );
for AAttribute in AAttributes do
if( AAttribute is TLPComponentEditorAttribute ) then
begin
AAttrItem :=
On Mon, Mar 4, 2013 at 4:06 PM, Boian Mitov mi...@mitov.com wrote:
Here is another even simpler example:
AItem := GComponentEditorList.Find(
function( AItem : IComponentEditorItem ) : Boolean
begin
Result := ( AComponent is
What people don't usually realize is that an anonymous method indeed is
internally expanded to a full blown object of unique class, with member
variables and all. Indeed I use the anonymous methods to effectively declare
a new class and make instance of it right in place with only couple of
Thank you!
I am sorry, got overexcited.
I like the lambda proposal, but on the other hand, I have to use Delphi (at
least for now).
The advantage of the Delphi implementation is that it uses familiar
Pascal like syntax, but I am sure we can get used to the lambda syntax.
With best regards,
On Mon, Mar 4, 2013 at 2:38 PM, Martin laza...@mfriebe.de 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.
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 anonymous function.
and the corresponding interface has the Execute method.
The class contains all the
On Monday 04 March 2013 00:29:51 Vittorio Giovara wrote:
IMHO Martin Schreiber is doing a great job using these comparisons and
some improvements could be made in FPC... but he is making a mistake
in their approach of how to present FPC's defects.
I am not so sure about this... I know
66 matches
Mail list logo