Merging FFI and Alien

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Merging FFI and Alien

EstebanLM

Hi,

Recently I’ve been talking with Eliot and we came to the conclusion that FFI and Alien repositories needs to be merged.
Our rational is that 1) both are different ways of doing the same (often with same primitives) and much more important 2) Alien contains the the “de facto” callback mechanism supported by the VM.
Keeping them separated and treated as two different things is negative and an important source of confusion for people willing to do FFI this days.
So, here is my proposal (already talked with Eliot).

1) unify http://source.squeak.org/FFI and http://www.squeaksource.com/Alien into http://source.squeak.org/FFI
That means copying into FFI repo all Alien history.

2) Rename Alien package into FFI-Alien (extract the Alien-Win32 category into its own package)

3) Create a ConfigurationOfFFI who takes properly FFI and FFI-Alien, etc.

That means also deprecate Alien project in squeaksource (which usually is just put a WARNING text in home page :P)

So… if nobody has a anything against this plan, I will do it next week :)

cheers!
Esteban
Reply | Threaded
Open this post in threaded view
|

Re: Merging FFI and Alien

Luc Fabresse
 
Hi Esteban,

Question: why not "just" introducing Alien's callbacks in FFI and rename it (e.g. FFI-callbacks)?

That would be simpler, no?
- no Alien's history in FFI repo
- not the full Alien's code (callout mechanism, ...) in FFI codebase
- ...

Cheers,

#Luc

2016-01-24 12:57 GMT+01:00 Esteban Lorenzano <[hidden email]>:

Hi,

Recently I’ve been talking with Eliot and we came to the conclusion that FFI and Alien repositories needs to be merged.
Our rational is that 1) both are different ways of doing the same (often with same primitives) and much more important 2) Alien contains the the “de facto” callback mechanism supported by the VM.
Keeping them separated and treated as two different things is negative and an important source of confusion for people willing to do FFI this days.
So, here is my proposal (already talked with Eliot).

1) unify http://source.squeak.org/FFI and http://www.squeaksource.com/Alien into http://source.squeak.org/FFI
That means copying into FFI repo all Alien history.

2) Rename Alien package into FFI-Alien (extract the Alien-Win32 category into its own package)

3) Create a ConfigurationOfFFI who takes properly FFI and FFI-Alien, etc.

That means also deprecate Alien project in squeaksource (which usually is just put a WARNING text in home page :P)

So… if nobody has a anything against this plan, I will do it next week :)

cheers!
Esteban

Reply | Threaded
Open this post in threaded view
|

Re: Merging FFI and Alien

EstebanLM
 

On 24 Jan 2016, at 13:38, Luc Fabresse <[hidden email]> wrote:

Hi Esteban,

Question: why not "just" introducing Alien's callbacks in FFI and rename it (e.g. FFI-callbacks)?

That would be simpler, no?

no is not :)
Callbacks works with Aliens, who are different than regular ExternalAddresses, then you need Aliens i.
In the future, that could be a project (to modify callback part of plugin)… but for now faster approach is what I’m describing :)

cheers,
Esteban


- no Alien's history in FFI repo
- not the full Alien's code (callout mechanism, ...) in FFI codebase
- ...

Cheers,

#Luc

2016-01-24 12:57 GMT+01:00 Esteban Lorenzano <[hidden email]>:

Hi,

Recently I’ve been talking with Eliot and we came to the conclusion that FFI and Alien repositories needs to be merged.
Our rational is that 1) both are different ways of doing the same (often with same primitives) and much more important 2) Alien contains the the “de facto” callback mechanism supported by the VM.
Keeping them separated and treated as two different things is negative and an important source of confusion for people willing to do FFI this days.
So, here is my proposal (already talked with Eliot).

1) unify http://source.squeak.org/FFI and http://www.squeaksource.com/Alien into http://source.squeak.org/FFI
That means copying into FFI repo all Alien history.

2) Rename Alien package into FFI-Alien (extract the Alien-Win32 category into its own package)

3) Create a ConfigurationOfFFI who takes properly FFI and FFI-Alien, etc.

That means also deprecate Alien project in squeaksource (which usually is just put a WARNING text in home page :P)

So… if nobody has a anything against this plan, I will do it next week :)

cheers!
Esteban


Reply | Threaded
Open this post in threaded view
|

Re: Merging FFI and Alien

Luc Fabresse
 


2016-01-24 13:56 GMT+01:00 Esteban Lorenzano <[hidden email]>:
 

On 24 Jan 2016, at 13:38, Luc Fabresse <[hidden email]> wrote:

Hi Esteban,

Question: why not "just" introducing Alien's callbacks in FFI and rename it (e.g. FFI-callbacks)?

That would be simpler, no?

no is not :)
Callbacks works with Aliens, who are different than regular ExternalAddresses, then you need Aliens i.
In the future, that could be a project (to modify callback part of plugin)… but for now faster approach is what I’m describing :)

I was suspecting that I forgot part of this complicated story ;-)
Thanks for clarifying,

Luc
 

cheers,
Esteban


- no Alien's history in FFI repo
- not the full Alien's code (callout mechanism, ...) in FFI codebase
- ...

Cheers,

#Luc

2016-01-24 12:57 GMT+01:00 Esteban Lorenzano <[hidden email]>:

Hi,

Recently I’ve been talking with Eliot and we came to the conclusion that FFI and Alien repositories needs to be merged.
Our rational is that 1) both are different ways of doing the same (often with same primitives) and much more important 2) Alien contains the the “de facto” callback mechanism supported by the VM.
Keeping them separated and treated as two different things is negative and an important source of confusion for people willing to do FFI this days.
So, here is my proposal (already talked with Eliot).

1) unify http://source.squeak.org/FFI and http://www.squeaksource.com/Alien into http://source.squeak.org/FFI
That means copying into FFI repo all Alien history.

2) Rename Alien package into FFI-Alien (extract the Alien-Win32 category into its own package)

3) Create a ConfigurationOfFFI who takes properly FFI and FFI-Alien, etc.

That means also deprecate Alien project in squeaksource (which usually is just put a WARNING text in home page :P)

So… if nobody has a anything against this plan, I will do it next week :)

cheers!
Esteban




Reply | Threaded
Open this post in threaded view
|

Re: Merging FFI and Alien

kilon.alios
 
how this affect UFFI ?

On Sun, Jan 24, 2016 at 3:10 PM Luc Fabresse <[hidden email]> wrote:
2016-01-24 13:56 GMT+01:00 Esteban Lorenzano <[hidden email]>:
 

On 24 Jan 2016, at 13:38, Luc Fabresse <[hidden email]> wrote:

Hi Esteban,

Question: why not "just" introducing Alien's callbacks in FFI and rename it (e.g. FFI-callbacks)?

That would be simpler, no?

no is not :)
Callbacks works with Aliens, who are different than regular ExternalAddresses, then you need Aliens i.
In the future, that could be a project (to modify callback part of plugin)… but for now faster approach is what I’m describing :)

I was suspecting that I forgot part of this complicated story ;-)
Thanks for clarifying,

Luc
 

cheers,
Esteban


- no Alien's history in FFI repo
- not the full Alien's code (callout mechanism, ...) in FFI codebase
- ...

Cheers,

#Luc

2016-01-24 12:57 GMT+01:00 Esteban Lorenzano <[hidden email]>:

Hi,

Recently I’ve been talking with Eliot and we came to the conclusion that FFI and Alien repositories needs to be merged.
Our rational is that 1) both are different ways of doing the same (often with same primitives) and much more important 2) Alien contains the the “de facto” callback mechanism supported by the VM.
Keeping them separated and treated as two different things is negative and an important source of confusion for people willing to do FFI this days.
So, here is my proposal (already talked with Eliot).

1) unify http://source.squeak.org/FFI and http://www.squeaksource.com/Alien into http://source.squeak.org/FFI
That means copying into FFI repo all Alien history.

2) Rename Alien package into FFI-Alien (extract the Alien-Win32 category into its own package)

3) Create a ConfigurationOfFFI who takes properly FFI and FFI-Alien, etc.

That means also deprecate Alien project in squeaksource (which usually is just put a WARNING text in home page :P)

So… if nobody has a anything against this plan, I will do it next week :)

cheers!
Esteban



Reply | Threaded
Open this post in threaded view
|

Re: Merging FFI and Alien

Mariano Martinez Peck
In reply to this post by EstebanLM
 
Thanks Esteban,

This was long overdue. 2 out of 3 FFI questions in the Pharo mailing list was because of all the different front ends / backends, all their combinations, and having different ones in different Pharo releases. 

Thanks!!!!

On Sun, Jan 24, 2016 at 8:57 AM, Esteban Lorenzano <[hidden email]> wrote:

Hi,

Recently I’ve been talking with Eliot and we came to the conclusion that FFI and Alien repositories needs to be merged.
Our rational is that 1) both are different ways of doing the same (often with same primitives) and much more important 2) Alien contains the the “de facto” callback mechanism supported by the VM.
Keeping them separated and treated as two different things is negative and an important source of confusion for people willing to do FFI this days.
So, here is my proposal (already talked with Eliot).

1) unify http://source.squeak.org/FFI and http://www.squeaksource.com/Alien into http://source.squeak.org/FFI
That means copying into FFI repo all Alien history.

2) Rename Alien package into FFI-Alien (extract the Alien-Win32 category into its own package)

3) Create a ConfigurationOfFFI who takes properly FFI and FFI-Alien, etc.

That means also deprecate Alien project in squeaksource (which usually is just put a WARNING text in home page :P)

So… if nobody has a anything against this plan, I will do it next week :)

cheers!
Esteban



--
Reply | Threaded
Open this post in threaded view
|

Re: Merging FFI and Alien

EstebanLM
In reply to this post by kilon.alios
 

On 24 Jan 2016, at 14:41, Dimitris Chloupis <[hidden email]> wrote:

how this affect UFFI ?

nothing, it is just a package-repository reorganisation in the backend of UFFI (so is transparent for it) :)

Esteban


On Sun, Jan 24, 2016 at 3:10 PM Luc Fabresse <[hidden email]> wrote:
2016-01-24 13:56 GMT+01:00 Esteban Lorenzano <[hidden email]>:
 

On 24 Jan 2016, at 13:38, Luc Fabresse <[hidden email]> wrote:

Hi Esteban,

Question: why not "just" introducing Alien's callbacks in FFI and rename it (e.g. FFI-callbacks)?

That would be simpler, no?

no is not :)
Callbacks works with Aliens, who are different than regular ExternalAddresses, then you need Aliens i.
In the future, that could be a project (to modify callback part of plugin)… but for now faster approach is what I’m describing :)

I was suspecting that I forgot part of this complicated story ;-)
Thanks for clarifying,

Luc
 

cheers,
Esteban


- no Alien's history in FFI repo
- not the full Alien's code (callout mechanism, ...) in FFI codebase
- ...

Cheers,

#Luc

2016-01-24 12:57 GMT+01:00 Esteban Lorenzano <[hidden email]>:

Hi,

Recently I’ve been talking with Eliot and we came to the conclusion that FFI and Alien repositories needs to be merged.
Our rational is that 1) both are different ways of doing the same (often with same primitives) and much more important 2) Alien contains the the “de facto” callback mechanism supported by the VM.
Keeping them separated and treated as two different things is negative and an important source of confusion for people willing to do FFI this days.
So, here is my proposal (already talked with Eliot).

1) unify http://source.squeak.org/FFI and http://www.squeaksource.com/Alien into http://source.squeak.org/FFI
That means copying into FFI repo all Alien history.

2) Rename Alien package into FFI-Alien (extract the Alien-Win32 category into its own package)

3) Create a ConfigurationOfFFI who takes properly FFI and FFI-Alien, etc.

That means also deprecate Alien project in squeaksource (which usually is just put a WARNING text in home page :P)

So… if nobody has a anything against this plan, I will do it next week :)

cheers!
Esteban




Reply | Threaded
Open this post in threaded view
|

Re: Merging FFI and Alien

Nicolai Hess-3-2
In reply to this post by EstebanLM
 


2016-01-24 12:57 GMT+01:00 Esteban Lorenzano <[hidden email]>:

Hi,

Recently I’ve been talking with Eliot and we came to the conclusion that FFI and Alien repositories needs to be merged.
Our rational is that 1) both are different ways of doing the same (often with same primitives) and much more important 2) Alien contains the the “de facto” callback mechanism supported by the VM.
Keeping them separated and treated as two different things is negative and an important source of confusion for people willing to do FFI this days.
So, here is my proposal (already talked with Eliot).

1) unify http://source.squeak.org/FFI and http://www.squeaksource.com/Alien into http://source.squeak.org/FFI
That means copying into FFI repo all Alien history.

2) Rename Alien package into FFI-Alien (extract the Alien-Win32 category into its own package)

3) Create a ConfigurationOfFFI who takes properly FFI and FFI-Alien, etc.

That means also deprecate Alien project in squeaksource (which usually is just put a WARNING text in home page :P)

So… if nobody has a anything against this plan, I will do it next week :)

Are there differences between pharos ffi-package (FFI-Kernel) and squeak?
For example, the fallback implementation in
ExternalFunction>>#tryInvokeWithArguments:
referese to ContextPart, but it should be Context in (for Pharo only).


 

cheers!
Esteban

Reply | Threaded
Open this post in threaded view
|

Re: Merging FFI and Alien

EstebanLM
 

On 25 Jan 2016, at 12:00, Nicolai Hess <[hidden email]> wrote:



2016-01-24 12:57 GMT+01:00 Esteban Lorenzano <[hidden email]>:

Hi,

Recently I’ve been talking with Eliot and we came to the conclusion that FFI and Alien repositories needs to be merged.
Our rational is that 1) both are different ways of doing the same (often with same primitives) and much more important 2) Alien contains the the “de facto” callback mechanism supported by the VM.
Keeping them separated and treated as two different things is negative and an important source of confusion for people willing to do FFI this days.
So, here is my proposal (already talked with Eliot).

1) unify http://source.squeak.org/FFI and http://www.squeaksource.com/Alien into http://source.squeak.org/FFI
That means copying into FFI repo all Alien history.

2) Rename Alien package into FFI-Alien (extract the Alien-Win32 category into its own package)

3) Create a ConfigurationOfFFI who takes properly FFI and FFI-Alien, etc.

That means also deprecate Alien project in squeaksource (which usually is just put a WARNING text in home page :P)

So… if nobody has a anything against this plan, I will do it next week :)

Are there differences between pharos ffi-package (FFI-Kernel) and squeak?
For example, the fallback implementation in 
ExternalFunction>>#tryInvokeWithArguments:
referese to ContextPart, but it should be Context in (for Pharo only).

that’s not related with my question ;)
it does not influences at all the renaming, but yep… I’m aware about that difference… I will add some compatibility stuff eventually, but I’m not pressed for now since #tryInvokeWithArguments: is not used at all (probably we should remove it anyway)

cheers,
Esteban



 

cheers!
Esteban