Re: [Lazarus] Doe fpc/lazarus already have System-Threading or is it planned

2018-02-02 Thread Zoë Peterson via Lazarus

On 2/2/2018 2:37 PM, Sven Barth via Lazarus wrote:
Once FPC supports anonymous functions as well I assume that support will 
start to become alive again. ;)


Hopefully.  They were already working on iOS/Android/macOS/Linux support 
using Delphi, and that's what's stalled.  The last commit on the v4 
branch was a year ago.  I looked into at least getting FPC on Windows 
running with Blaise's closure branch in Nov/Dec, but stopped because of 
that and the missing generics.  Primož did respond favorably when I 
asked him about adding FPC support though.


--
Zoë Peterson
Scooter Software

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Doe fpc/lazarus already have System-Threading or is it planned

2018-02-02 Thread Sven Barth via Lazarus
Am 02.02.2018 21:08 schrieb "Zoë Peterson via Lazarus" <
lazarus@lists.lazarus-ide.org>:

On 2/2/2018 1:37 PM, R0b0t1 wrote:

> I've been looking for a replacement to
> http://www.omnithreadlibrary.com/ for a long time. If I remember, the
> dealbreaker is the library's codebase making heavy use of anonymous
> functions and procedures.
>

Yeah, OTL requires anonymous methods.  I was hoping to port it to FPC once
the anonymous method support landed, but AFAICT the cross platform port got
pushed into OTL v4 and it looks like that stalled a year ago.


Once FPC supports anonymous functions as well I assume that support will
start to become alive again. ;)



Does System.Threading expose an API that could take either code
> references or anonymous methods? I'm very interested.
>

Yes, System.Threading has both "reference to procedure" and "procedure of
object" overloads in the API, so you could implement most of it in the
current FPC release.  As Sven said, though, no one has started on it, and
anyone who did work on it would have to be careful to not taint it with
code from Delphi's implementation.


The suggested way is to write tests for the Delphi implementation and to
implement the FPC one based on those tests and the Delphi documentation.

Regards,
Sven
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Doe fpc/lazarus already have System-Threading or is it planned

2018-02-02 Thread Zoë Peterson via Lazarus

On 2/2/2018 1:37 PM, R0b0t1 wrote:

I've been looking for a replacement to
http://www.omnithreadlibrary.com/ for a long time. If I remember, the
dealbreaker is the library's codebase making heavy use of anonymous
functions and procedures.


Yeah, OTL requires anonymous methods.  I was hoping to port it to FPC 
once the anonymous method support landed, but AFAICT the cross platform 
port got pushed into OTL v4 and it looks like that stalled a year ago.



Does System.Threading expose an API that could take either code
references or anonymous methods? I'm very interested.


Yes, System.Threading has both "reference to procedure" and "procedure 
of object" overloads in the API, so you could implement most of it in 
the current FPC release.  As Sven said, though, no one has started on 
it, and anyone who did work on it would have to be careful to not taint 
it with code from Delphi's implementation.


--
Zoë Peterson
Scooter Software

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Doe fpc/lazarus already have System-Threading or is it planned

2018-02-02 Thread R0b0t1 via Lazarus
On Fri, Feb 2, 2018 at 10:26 AM, Zoë Peterson via Lazarus
 wrote:
> On 2/2/2018 10:19 AM, Zoë Peterson wrote:
>>
>> System.Threading requires anonymous methods, which Free Pascal doesn't
>> currently support.
>
>
> Oops, Sven's right, it mostly doesn't use anonymous methods, so this isn't a
> blocker.
>
>

I've been looking for a replacement to
http://www.omnithreadlibrary.com/ for a long time. If I remember, the
dealbreaker is the library's codebase making heavy use of anonymous
functions and procedures.

Does System.Threading expose an API that could take either code
references or anonymous methods? I'm very interested.

Cheers,
 R0b0t1
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Doe fpc/lazarus already have System-Threading or is it planned

2018-02-02 Thread Zoë Peterson via Lazarus

On 2/2/2018 10:19 AM, Zoë Peterson wrote:
System.Threading requires anonymous methods, which Free Pascal doesn't 
currently support.


Oops, Sven's right, it mostly doesn't use anonymous methods, so this 
isn't a blocker.


--
Zoë Peterson
Scooter Software


--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Doe fpc/lazarus already have System-Threading or is it planned

2018-02-02 Thread Zoë Peterson via Lazarus

On 2/2/2018 4:25 AM, Michael Schnell via Lazarus wrote:
Featuring "parallel loops", "future variables", etc, implemented via a 
thread pool that is transparent for the application programmer.


System.Threading requires anonymous methods, which Free Pascal doesn't 
currently support.  Someone has been working on those, but it's hard to 
say when they'll be ready for merging.  Once that's done someone could 
start implementing System.Threading, though personally I'd probably just 
look into adding FPC support to OmniThreadLibrary at that point.


--
Zoë Peterson
Scooter Software

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Doe fpc/lazarus already have System-Threading or is it planned

2018-02-02 Thread Sven Barth via Lazarus
Am 02.02.2018 11:25 schrieb "Michael Schnell via Lazarus" <
lazarus@lists.lazarus-ide.org>:

Featuring "parallel loops", "future variables", etc, implemented via a
thread pool that is transparent for the application programmer.

-> http://docwiki.embarcadero.com/Libraries/Tokyo/de/System.Threading


It only relies on already existing functionality (except for those
overloads that take a TProc<>), so feel free to implement this for FPC as
no one is planning to implement it currently, so first come, first serve.

Regards,
Sven
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Doe fpc/lazarus already have System-Threading or is it planned

2018-02-02 Thread Michael Schnell via Lazarus

sorry
-> http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Threading
-Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus