# Lambda expression objects in Painless

**URL:** <https://discuss.elastic.co/t/lambda-expression-objects-in-painless/93486>\
**Category:** Elasticsearch\
**Created:** [July 18, 2017, 1:49am UTC](https://discuss.elastic.co/t/lambda-expression-objects-in-painless/93486 "2017-07-18T01:49:32Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![twigbranch](https://avatars.discourse-cdn.com/v4/letter/t/2bfe46/32.png) [@twigbranch](https://discuss.elastic.co/u/twigbranch)\
**Post date:** [July 18, 2017, 1:49am UTC](https://discuss.elastic.co/t/lambda-expression-objects-in-painless/93486/1 "2017-07-18T01:49:32Z")

</div>

I have a closure object in a groovy script that I'm trying to port to painless. What is the proper syntax to do this?

closure object is something like:  
\> def myClosure  
\> myClosure = { oneMap, otherMap -\>  
\> ...  
\> [output 1, output2]  
\> }  
\> outputList = myClosure(inMap1, inMap2)

---

<div class="post-metadata">

**Author:** ![rjernst](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rjernst/32/6363_2.png) [@rjernst](https://discuss.elastic.co/u/rjernst)\
**Post date:** [July 19, 2017, 6:12pm UTC](https://discuss.elastic.co/t/lambda-expression-objects-in-painless/93486/2 "2017-07-19T18:12:10Z")

</div>

Painless does not have closures like groovy. Lambdas are just like in java: they are an anonymous implementation of a functional interface. Here I think you are looking for functions: [https://www.elastic.co/guide/en/elasticsearch/painless/master/painless-syntax.html#functions](https://www.elastic.co/guide/en/elasticsearch/painless/master/painless-syntax.html#functions)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 16, 2017, 6:12pm UTC](https://discuss.elastic.co/t/lambda-expression-objects-in-painless/93486/3 "2017-08-16T18:12:12Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
