# Use clojure for scripting

**URL:** <https://community.fibery.io/t/use-clojure-for-scripting/950>\
**Category:** Ideas & Features\
**Tags:** automations\
**Created:** [September 3, 2020, 3:34am UTC](https://community.fibery.io/t/use-clojure-for-scripting/950 "2020-09-03T03:34:21Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aram\_Zadikian](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/aram_zadikian/32/936_2.png) [@Aram\_Zadikian](https://community.fibery.io/u/Aram_Zadikian)\
**Post date:** [September 3, 2020, 3:34am UTC](https://community.fibery.io/t/use-clojure-for-scripting/950/1 "2020-09-03T03:34:21Z")

</div>

This is a request for magic, so I understand if it’s not realistic, but I wish there was a way to allow clojure as well as JS in some shape or form when scripting.

---

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [September 3, 2020, 1:13pm UTC](https://community.fibery.io/t/use-clojure-for-scripting/950/2 "2020-09-03T13:13:55Z")

</div>

To be honest I don’t think we will add cojurescript here. It will increase complexity and there are few people who will benefit.

---

<div class="post-metadata">

**Author:** ![jean1](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/jean1/32/1669_2.png) [@jean1](https://community.fibery.io/u/jean1)\
**Post date:** [June 6, 2021, 10:56am UTC](https://community.fibery.io/t/use-clojure-for-scripting/950/3 "2021-06-06T10:56:39Z")

</div>

How about [DataScript](https://github.com/tonsky/datascript) for querying?

I’ve been exploring it in Roam/LogSeq/Athens. This [deep dive](https://www.zsolt.blog/2021/01/Roam-Data-Structure-Query.html?m=1) is excellent. I really like the [entity-attribute-value](https://docs.datomic.com/cloud/whatis/data-model.html) data model … it matches what I imagine for the flexible “type” system I go on about elsewhere.

---

<div class="post-metadata">

**Author:** ![a2say](https://avatars.discourse-cdn.com/v4/letter/a/f05b48/32.png) [@a2say](https://community.fibery.io/u/a2say)\
**Post date:** [November 10, 2021, 6:13pm UTC](https://community.fibery.io/t/use-clojure-for-scripting/950/4 "2021-11-10T18:13:52Z")

</div>

Agree. «Datalog query» is used in many places by common users. And I am one of them.

Another question, is it supported natively by the database that Fibery uses?

---

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [November 10, 2021, 6:17pm UTC](https://community.fibery.io/t/use-clojure-for-scripting/950/5 "2021-11-10T18:17:43Z")

</div>

We have our own query engine, since we don’t use Datalog/Datomic.  
Can you share cases? What you want to do?

BTW, EAV model is a dead end, it’s can’t survive data evolution and it can’t survive large data amounts. We decided to not go for it, while it was an obvious choice for flexible domain.

---

<div class="post-metadata">

**Author:** ![a2say](https://avatars.discourse-cdn.com/v4/letter/a/f05b48/32.png) [@a2say](https://community.fibery.io/u/a2say)\
**Post date:** [November 10, 2021, 7:02pm UTC](https://community.fibery.io/t/use-clojure-for-scripting/950/6 "2021-11-10T19:02:44Z")

</div>

> [@mdubakov](#):
>
> Can you share cases? What you want to do?

The «case» is simple - personal convenience: 0)

I don’t want to once again deeply “remember” javascript in order to work with data in “Rules”. I don’t like JS - that’s it :0)

---

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [November 11, 2021, 10:44am UTC](https://community.fibery.io/t/use-clojure-for-scripting/950/7 "2021-11-11T10:44:33Z")

</div>

I got it, so you basically need a data query language.
