Ik wilde de business rules niet in code hebben die gecompileerd moet worden. Dit zodat het makkelijker te auditen is ("kijk, meneer van E&Y, dit zijn onze business rules zoals ze nu op productie draaien") en makkelijker aangepast kan worden.
Ik heb destijds wel gekeken of zoiets ook met C# kon, maar ik kon geen plug-and-play-oplossingen vinden zoals dat met IronPython wel kon.
Mjah wel eens naar "native python" LINQ libs gekeken maar dat leverde toen niet echt iets op waarvan ik dacht dat wordt hem.
Als je IronPython gebruikt kun je de extension methods uit System.Core binnenhengelen, dan kun je een set filteren:
Python:
1
| someSet.Where(lambda x: x == "potato").ToList[str]() |
Ik weet dat dit ook met Python zelf kan (list comprehensions, filter, map), maar ik vind de LINQ-syntax makkelijker te gebruiken.