Sent from my iPad
> On Dec 25, 2015, at 11:53 AM, Dmitri Gribenko via swift-evolution > <[email protected]> wrote: > > On Fri, Dec 25, 2015 at 9:07 AM, Jason Jobe via swift-evolution > <[email protected]> wrote: >> >> Okay, >> >> I would like to propose that Transducers be considered for addition to the >> Swift core. >> >> "Transducers are a powerful and composable way to build algorithmic >> transformations that you can reuse in many contexts…" >> >> There are ways to build them w/out any language modification but they are >> not as efficient as alternative expressions. > > Hi Jason, > > I was playing with a similar idea here: > > https://github.com/apple/swift/blob/master/test/Prototypes/CollectionTransformers.swift > > You wouldn't find the word 'transducer' there, but it is based on > similar principles, except it also allows you to optimize the AST of > the transformation, and it is structured in such a way that would > allow us to automatically parallelize the whole pipeline. > It's great to see you experimenting with this! It's unrelated but one comment in there jumped out at me: // As sad as it is, I think for practical performance reasons we should rewrite // the inner parts of the fork-join framework in C++. In way too many cases // than necessary Swift requires an extra allocation to pin objects in memory // for safe multithreaded access. -Dmitri I agree this is sad, but also hope it is only a temporary situation (as with other performance related concerns). Any thoughts on that? > Dmitri > > -- > main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if > (j){printf("%d\n",i);}}} /*Dmitri Gribenko <[email protected]>*/ > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
