# Self defined Operator not allowed

**URL:** <https://discuss.ocaml.org/t/self-defined-operator-not-allowed/4163>\
**Category:** Learning\
**Tags:** owl\
**Created:** [July 28, 2019, 2:04pm UTC](https://discuss.ocaml.org/t/self-defined-operator-not-allowed/4163 "2019-07-28T14:04:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![atzensepp](https://avatars.discourse-cdn.com/v4/letter/a/e19adc/32.png) [@atzensepp](https://discuss.ocaml.org/u/atzensepp)\
**Post date:** [July 28, 2019, 2:04pm UTC](https://discuss.ocaml.org/t/self-defined-operator-not-allowed/4163/1 "2019-07-28T14:04:19Z")

</div>

When trying to build owl wiht Ocaml 4.05.0 I am getting following error:

```
File "src/base/core/owl_operator.mli", line 198, characters 8-9:
Error: Syntax error: operator expected.

```

referring to the line:  
val ( .!{} ) : ('a, 'b) M.t -\> Owl\_types.index list -\> ('a, 'b) M.t

Do I need to switch to a newer Ocaml-Version?  
Alternatively could I replace the Operator by a valid characters-sequence?  
What would be one?

Thanks

---

<div class="post-metadata">

**Author:** ![octachron](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@octachron](https://discuss.ocaml.org/u/octachron)\
**Post date:** [July 28, 2019, 2:17pm UTC](https://discuss.ocaml.org/t/self-defined-operator-not-allowed/4163/2 "2019-07-28T14:17:00Z")

</div>

Owl requires Ocaml ≥4.06 due to its use of custom indexing operators.

---

<div class="post-metadata">

**Author:** ![atzensepp](https://avatars.discourse-cdn.com/v4/letter/a/e19adc/32.png) [@atzensepp](https://discuss.ocaml.org/u/atzensepp)\
**Post date:** [July 28, 2019, 2:24pm UTC](https://discuss.ocaml.org/t/self-defined-operator-not-allowed/4163/3 "2019-07-28T14:24:36Z")

</div>

ok, thank you.  
I will see how far I come with  
opam switch set 4.06.0  
Unfortunately all dependencies need to be installed again.
