# function composition

**URL:** https://forum.kx.com/t/function-composition/9139
**Category:** Community Support
**Tags:** kdb-and-q
**Created:** [October 8, 2014, 4:08am UTC](https://forum.kx.com/t/function-composition/9139 "2014-10-08T04:08:00Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![denghao8888](https://avatars.discourse-cdn.com/v4/letter/d/d2c977/32.png) [@denghao8888](https://forum.kx.com/u/denghao8888)
#### Post date: [October 8, 2014, 4:08am UTC](https://forum.kx.com/t/function-composition/9139/1 "2014-10-08T04:08:00Z")

</div>

Hello:  
&nbsp; &nbsp;Is there a way to compose two function f,g without using {}?

I know (2+3-) is a composition. But I failed to define composition of (inc inc) where inc:(1+)

Thanks in advance.

---

<div class="post-metadata">

### Author: ![charlie1](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@charlie1](https://forum.kx.com/u/charlie1)
#### Post date: [October 8, 2014, 4:31am UTC](https://forum.kx.com/t/function-composition/9139/2 "2014-10-08T04:31:00Z")

</div>

q)inc:(1+)

q)(inc inc@)2

4

---

<div class="post-metadata">

### Author: ![kuentang](https://avatars.discourse-cdn.com/v4/letter/k/bc8723/32.png) [@kuentang](https://forum.kx.com/u/kuentang)
#### Post date: [October 8, 2014, 4:39am UTC](https://forum.kx.com/t/function-composition/9139/3 "2014-10-08T04:39:00Z")

</div>

q)f:{[w;x;y;z]w+x+y+z}\<o:p\>\</o:p\>

q)g:{2\*x}\<o:p\>\</o:p\>

q)h:(‘[g;f]) / The interpreter is finicky about :’\<o:p\>\</o:p\>

q)h[1;2;3;4]\<o:p\>\</o:p\>

20\<o:p\>\</o:p\>

\<o:p\> \</o:p\>

HTH,\<o:p\>\</o:p\>

\<o:p\> \</o:p\>

Kim\<o:p\>\</o:p\>

\<o:p\> \</o:p\>

**Von:** [personal-kdbplus@googlegroups.com](mailto:personal-kdbplus@googlegroups.com) [[mailto:personal-kdbplus@googlegroups.com](mailto:personal-kdbplus@googlegroups.com)] **Im Auftrag von** Hao Deng  
**Gesendet:** Mittwoch, 8. Oktober 2014 11:09  
**An:** [personal-kdbplus@googlegroups.com](mailto:personal-kdbplus@googlegroups.com)  
**Betreff:** [personal kdb+] function composition\<o:p\>\</o:p\>

\<o:p\> \</o:p\>

Hello:\<o:p\>\</o:p\>

&nbsp; &nbsp;Is there a way to compose two function f,g without using {}?\<o:p\>\</o:p\>

I know (2+3-) is a composition. But I failed to define composition of (inc inc) where inc:(1+)\<o:p\>\</o:p\>

\<o:p\> \</o:p\>

Thanks in advance.\<o:p\>\</o:p\>

\<o:p\> \</o:p\>

–  
Submitted via Google Groups

---

<div class="post-metadata">

### Author: ![denghao8888](https://avatars.discourse-cdn.com/v4/letter/d/d2c977/32.png) [@denghao8888](https://forum.kx.com/u/denghao8888)
#### Post date: [October 8, 2014, 2:25pm UTC](https://forum.kx.com/t/function-composition/9139/4 "2014-10-08T14:25:00Z")

</div>

Thank you both Charles and Kim:  
&nbsp; &nbsp; Both usage are not documents in&nbsp;[http://code.kx.com/wiki/Reference](http://code.kx.com/wiki/Reference) and anywhere I can find.&nbsp;

Did I missed any documents?

---

<div class="post-metadata">

### Author: ![charlie1](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@charlie1](https://forum.kx.com/u/charlie1)
#### Post date: [October 8, 2014, 2:45pm UTC](https://forum.kx.com/t/function-composition/9139/5 "2014-10-08T14:45:00Z")

</div>

http://code.kx.com/wiki/Reference/Apostrophe

---

<div class="post-metadata">

### Author: ![denghao8888](https://avatars.discourse-cdn.com/v4/letter/d/d2c977/32.png) [@denghao8888](https://forum.kx.com/u/denghao8888)
#### Post date: [October 8, 2014, 3:50pm UTC](https://forum.kx.com/t/function-composition/9139/6 "2014-10-08T15:50:00Z")

</div>

Thanks Charles.  
&nbsp; I don’t understand the @ part.&nbsp;

I understand inc@ is a curry (project) of @,&nbsp;

but how does inc inc@ get parsed? Is this a special form?&nbsp;

---

<div class="post-metadata">

### Author: ![charlie1](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@charlie1](https://forum.kx.com/u/charlie1)
#### Post date: [October 13, 2014, 11:28am UTC](https://forum.kx.com/t/function-composition/9139/7 "2014-10-13T11:28:00Z")

</div>

juxtaposition is implicit apply

q)x:`a`b`c`d

q)x@2 3

`c`d

q)x 2 3

`c`d

if there’s no juxtaposition, i.e. no rhs, and you don’t want immediate evaluation, you have to explicitly insert an infix verb as the terminating token.

btw, you can pull compositions apart with value. e.g.

value(inc inc@)
