You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Steve Eynon <st...@alienfactory.co.uk> on 2013/08/07 01:23:15 UTC

[OT] T5-IoC in Fantom

Hello,

If imitation is the sincerest form of flattery then T5-IoC has been paid a
huge compliment...

...there's an IoC in the language Fantom that bears a striking resemblance
to T5-IoC!

afIoc - http://repo.status302.com/doc/afIoc/#overview

I've been an avid fan of Tapestry since v3, and with the advent of T5 I've
learnt to adore T5-IoC - the foundation of all my apps (both desktop and
web). So much so, as I'm now (slowly) moving away from Java, I couldn't
bear to leave it behind.

As my new language of choice, Fantom http://fantom.org/ , didn't have an
IoC, I took it upon myself to implement one in the image of T5-IoC,
bringing with it all the goodness T5-IoC provides!

I realise this post is slightly off topic, but I wanted to give
acknowledgement and thanks to all those inspiring T5-IoC developers, your
ideas are awesome! So, err, thanks!

Um, I'll get my coat...

Steve.

Oh, for those who don't know Fantom, a reasonable quick overview is given
here:
http://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-fantom/

Re: [OT] T5-IoC in Fantom

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Wed, 07 Aug 2013 14:24:25 -0300, Howard Lewis Ship <hl...@gmail.com>  
wrote:

> I have some ideas for a next-generation IoC that I hope to put together
> someday (outside of Tapestry).  I want to create something with a  
> different level of granularity, were you are injecting functions, not  
> services.

You probably want to wait for Java 8 and its first class functions aka  
functional interfaces and lambdas. :) A nice description of that and other  
Java 8 improvements are here:  
http://www.techempower.com/blog/2013/03/26/everything-about-java-8/. I  
can't wait for them.

By the way, even if your future project is independent from T-IoC, T-IoC  
could integrate it, just like it does with Plastic. :)

-- 
Thiago H. de Paula Figueiredo

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: [OT] T5-IoC in Fantom

Posted by Howard Lewis Ship <hl...@gmail.com>.
I have some ideas for a next-generation IoC that I hope to put together
someday (outside of Tapestry).  I want to create something with a different
level of granularity, were you are injecting functions, not services. There
would be a whole lot of generics gymnastics to figure out how to map from a
generic function interface to a static or instance method of a class that
is exposed for injection, with lots of annotations to be used to
disambiguate. Unfortunately, this is pretty far down my list of things to
work on!


On Wed, Aug 7, 2013 at 3:01 AM, Steve Eynon
<st...@alienfactory.co.uk>wrote:

> > No distributed configuration?
>
> Of course there is! Any module from any pod (jar) can contribute to
> services defined in any other module from any other pod. That is
> distributed configuration, right? That was built in from the get go!
>
> > Well, I hope you had a chance to address some of the things that are not
> perfect in T5 IoC!
>
> I addressed a few (of what I felt were) shortcomings, tidied up the API a
> little, and tried to keep the API to 'core' functionality. A couple of
> subtle differences include:
>
>  - configuration overrides may themselves be overridden
>  - ctor params may be passed into Registry.autobuild()
>  - emphasis on annotations (facets) and not naming conventions
>
> I learnt a lot from the project and now certainly appreciate the recursive
> complexity involved in maintaining an IoC registry!
>
> Cheers,
>
> Steve.
>  --
> Steve Eynon
> -------------------------------
> "If at first you don't succeed,
>    so much for skydiving!"
>
>
>
> On 7 August 2013 01:05, Howard Lewis Ship <hl...@gmail.com> wrote:
>
> > No distributed configuration?
> >
> >
> > On Tue, Aug 6, 2013 at 5:04 PM, Howard Lewis Ship <hl...@gmail.com>
> > wrote:
> >
> > > Well, I hope you had a chance to address some of the things that are
> not
> > > perfect in T5 IoC!
> > >
> > >
> > > On Tue, Aug 6, 2013 at 4:23 PM, Steve Eynon <
> > > steve.eynon@alienfactory.co.uk> wrote:
> > >
> > >> Hello,
> > >>
> > >> If imitation is the sincerest form of flattery then T5-IoC has been
> > paid a
> > >> huge compliment...
> > >>
> > >> ...there's an IoC in the language Fantom that bears a striking
> > resemblance
> > >> to T5-IoC!
> > >>
> > >> afIoc - http://repo.status302.com/doc/afIoc/#overview
> > >>
> > >> I've been an avid fan of Tapestry since v3, and with the advent of T5
> > I've
> > >> learnt to adore T5-IoC - the foundation of all my apps (both desktop
> and
> > >> web). So much so, as I'm now (slowly) moving away from Java, I
> couldn't
> > >> bear to leave it behind.
> > >>
> > >> As my new language of choice, Fantom http://fantom.org/ , didn't have
> > an
> > >> IoC, I took it upon myself to implement one in the image of T5-IoC,
> > >> bringing with it all the goodness T5-IoC provides!
> > >>
> > >> I realise this post is slightly off topic, but I wanted to give
> > >> acknowledgement and thanks to all those inspiring T5-IoC developers,
> > your
> > >> ideas are awesome! So, err, thanks!
> > >>
> > >> Um, I'll get my coat...
> > >>
> > >> Steve.
> > >>
> > >> Oh, for those who don't know Fantom, a reasonable quick overview is
> > given
> > >> here:
> > >>
> > >>
> >
> http://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-fantom/
> > >>
> > >
> > >
> > >
> > > --
> > > Howard M. Lewis Ship
> > >
> > > Creator of Apache Tapestry
> > >
> > > The source for Tapestry training, mentoring and support. Contact me to
> > > learn how I can get you up and productive in Tapestry fast!
> > >
> > > (971) 678-5210
> > > http://howardlewisship.com
> > >
> >
> >
> >
> > --
> > Howard M. Lewis Ship
> >
> > Creator of Apache Tapestry
> >
> > The source for Tapestry training, mentoring and support. Contact me to
> > learn how I can get you up and productive in Tapestry fast!
> >
> > (971) 678-5210
> > http://howardlewisship.com
> >
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

Re: [OT] T5-IoC in Fantom

Posted by Steve Eynon <st...@alienfactory.co.uk>.
> No distributed configuration?

Of course there is! Any module from any pod (jar) can contribute to
services defined in any other module from any other pod. That is
distributed configuration, right? That was built in from the get go!

> Well, I hope you had a chance to address some of the things that are not
perfect in T5 IoC!

I addressed a few (of what I felt were) shortcomings, tidied up the API a
little, and tried to keep the API to 'core' functionality. A couple of
subtle differences include:

 - configuration overrides may themselves be overridden
 - ctor params may be passed into Registry.autobuild()
 - emphasis on annotations (facets) and not naming conventions

I learnt a lot from the project and now certainly appreciate the recursive
complexity involved in maintaining an IoC registry!

Cheers,

Steve.
 --
Steve Eynon
-------------------------------
"If at first you don't succeed,
   so much for skydiving!"



On 7 August 2013 01:05, Howard Lewis Ship <hl...@gmail.com> wrote:

> No distributed configuration?
>
>
> On Tue, Aug 6, 2013 at 5:04 PM, Howard Lewis Ship <hl...@gmail.com>
> wrote:
>
> > Well, I hope you had a chance to address some of the things that are not
> > perfect in T5 IoC!
> >
> >
> > On Tue, Aug 6, 2013 at 4:23 PM, Steve Eynon <
> > steve.eynon@alienfactory.co.uk> wrote:
> >
> >> Hello,
> >>
> >> If imitation is the sincerest form of flattery then T5-IoC has been
> paid a
> >> huge compliment...
> >>
> >> ...there's an IoC in the language Fantom that bears a striking
> resemblance
> >> to T5-IoC!
> >>
> >> afIoc - http://repo.status302.com/doc/afIoc/#overview
> >>
> >> I've been an avid fan of Tapestry since v3, and with the advent of T5
> I've
> >> learnt to adore T5-IoC - the foundation of all my apps (both desktop and
> >> web). So much so, as I'm now (slowly) moving away from Java, I couldn't
> >> bear to leave it behind.
> >>
> >> As my new language of choice, Fantom http://fantom.org/ , didn't have
> an
> >> IoC, I took it upon myself to implement one in the image of T5-IoC,
> >> bringing with it all the goodness T5-IoC provides!
> >>
> >> I realise this post is slightly off topic, but I wanted to give
> >> acknowledgement and thanks to all those inspiring T5-IoC developers,
> your
> >> ideas are awesome! So, err, thanks!
> >>
> >> Um, I'll get my coat...
> >>
> >> Steve.
> >>
> >> Oh, for those who don't know Fantom, a reasonable quick overview is
> given
> >> here:
> >>
> >>
> http://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-fantom/
> >>
> >
> >
> >
> > --
> > Howard M. Lewis Ship
> >
> > Creator of Apache Tapestry
> >
> > The source for Tapestry training, mentoring and support. Contact me to
> > learn how I can get you up and productive in Tapestry fast!
> >
> > (971) 678-5210
> > http://howardlewisship.com
> >
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>

Re: [OT] T5-IoC in Fantom

Posted by Howard Lewis Ship <hl...@gmail.com>.
No distributed configuration?


On Tue, Aug 6, 2013 at 5:04 PM, Howard Lewis Ship <hl...@gmail.com> wrote:

> Well, I hope you had a chance to address some of the things that are not
> perfect in T5 IoC!
>
>
> On Tue, Aug 6, 2013 at 4:23 PM, Steve Eynon <
> steve.eynon@alienfactory.co.uk> wrote:
>
>> Hello,
>>
>> If imitation is the sincerest form of flattery then T5-IoC has been paid a
>> huge compliment...
>>
>> ...there's an IoC in the language Fantom that bears a striking resemblance
>> to T5-IoC!
>>
>> afIoc - http://repo.status302.com/doc/afIoc/#overview
>>
>> I've been an avid fan of Tapestry since v3, and with the advent of T5 I've
>> learnt to adore T5-IoC - the foundation of all my apps (both desktop and
>> web). So much so, as I'm now (slowly) moving away from Java, I couldn't
>> bear to leave it behind.
>>
>> As my new language of choice, Fantom http://fantom.org/ , didn't have an
>> IoC, I took it upon myself to implement one in the image of T5-IoC,
>> bringing with it all the goodness T5-IoC provides!
>>
>> I realise this post is slightly off topic, but I wanted to give
>> acknowledgement and thanks to all those inspiring T5-IoC developers, your
>> ideas are awesome! So, err, thanks!
>>
>> Um, I'll get my coat...
>>
>> Steve.
>>
>> Oh, for those who don't know Fantom, a reasonable quick overview is given
>> here:
>>
>> http://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-fantom/
>>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

Re: [OT] T5-IoC in Fantom

Posted by Howard Lewis Ship <hl...@gmail.com>.
Well, I hope you had a chance to address some of the things that are not
perfect in T5 IoC!


On Tue, Aug 6, 2013 at 4:23 PM, Steve Eynon
<st...@alienfactory.co.uk>wrote:

> Hello,
>
> If imitation is the sincerest form of flattery then T5-IoC has been paid a
> huge compliment...
>
> ...there's an IoC in the language Fantom that bears a striking resemblance
> to T5-IoC!
>
> afIoc - http://repo.status302.com/doc/afIoc/#overview
>
> I've been an avid fan of Tapestry since v3, and with the advent of T5 I've
> learnt to adore T5-IoC - the foundation of all my apps (both desktop and
> web). So much so, as I'm now (slowly) moving away from Java, I couldn't
> bear to leave it behind.
>
> As my new language of choice, Fantom http://fantom.org/ , didn't have an
> IoC, I took it upon myself to implement one in the image of T5-IoC,
> bringing with it all the goodness T5-IoC provides!
>
> I realise this post is slightly off topic, but I wanted to give
> acknowledgement and thanks to all those inspiring T5-IoC developers, your
> ideas are awesome! So, err, thanks!
>
> Um, I'll get my coat...
>
> Steve.
>
> Oh, for those who don't know Fantom, a reasonable quick overview is given
> here:
>
> http://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-fantom/
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com