# Functor/3 for ,/2 - Printed result does not look right

**URL:** <https://swi-prolog.discourse.group/t/functor-3-for-2-printed-result-does-not-look-right/4632>\
**Category:** Help!\
**Created:** [November 4, 2021, 12:24pm UTC](https://swi-prolog.discourse.group/t/functor-3-for-2-printed-result-does-not-look-right/4632 "2021-11-04T12:24:07Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Post date:** [November 4, 2021, 12:24pm UTC](https://swi-prolog.discourse.group/t/functor-3-for-2-printed-result-does-not-look-right/4632/1 "2021-11-04T12:24:07Z")

</div>

Using SWI-Prolog (threaded, 64 bits, version 8.5.0-49-g2f46def0c) on Windows.

For functor/3, trying to use with functor of `,`.

```prolog
?- functor(T,',',2).
T = (_, _).

```

was expecting something like

```prolog
T = ','(_, _).

```

* * *

**EDIT**

It seems to be more of printing issue than a conversion issue,  
e.g. this conversation works as expected but does not print the term `T` as expected.

```prolog
?- functor(T,',',2),functor(T,Funcotr,Arity).
T = (_, _),
Funcotr = (','),
Arity = 2.

```

This also works as expected.

```prolog
?- functor(','(_,_),Functor,Arity).
Functor = (','),
Arity = 2.

```

---

<div class="post-metadata">

**Author:** ![peter.ludemann](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/peter.ludemann/32/48_2.png) [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Post date:** [November 4, 2021, 5:34pm UTC](https://swi-prolog.discourse.group/t/functor-3-for-2-printed-result-does-not-look-right/4632/3 "2021-11-04T17:34:47Z")

</div>

If you print `T` in canonical form (without any operators), the result is what you expect. (format `~k` is write\_canonical/1)

```prolog
?- functor(T, ',', 2), format(string(Canonical), '~k', [T]).
T = (_, _),
Canonical = "','(_,_)".

```
