# Broken tidal after update

**URL:** <https://forum.toplap.org/t/broken-tidal-after-update/783>\
**Category:** TidalCycles\
**Created:** [30 August 2019 08:24 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783 "2019-08-30T08:24:13Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Orcus](https://forum.toplap.org/letter_avatar_proxy/v4/letter/o/ba8739/32.png) [@Orcus](https://forum.toplap.org/u/Orcus)\
**Post date:** [30 August 2019 08:24 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/1 "2019-08-30T08:24:13Z")

</div>

Hi,

After updating linux and tidal, I can’t get tidal to work anymore. I hope someone here can help me.  
I have tried reinstalling tidal versions 1.4.0 and 1.4.3, and installing the full haskell platform but to no avail.

Launching from Emacs gives:

```
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help

```

Prelude\> syntax: :script   
Prelude\>  
:2:1: error: Variable not in scope: ghc

:2:5: error: Variable not in scope: pkg

:2:10: error: Variable not in scope: command :: [a]

:2:18: error:  
• Variable not in scope: line :: t0 -\> ([Char] -\> a0) -\> [a]  
• Perhaps you meant ‘lines’ (imported from Prelude)

:2:23: error: Variable not in scope: syntax  
Prelude\>  
:3:27: error:  
• Syntax error on 'ghc  
Perhaps you intended to use TemplateHaskell or TemplateHaskellQuotes  
• In the Template Haskell quotation 'ghc  
Prelude\>

This is the output I get from lauching tidal from the command line:

GHCi, version 8.0.2: [http://www.haskell.org/ghc/](http://www.haskell.org/ghc/) :? for help

:8:26: error:  
Variable not in scope: cpsUtils’ :: IO (t0, t1, t2)

:10:12: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:10:29: error: Variable not in scope: getNow

:11:12: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:11:29: error: Variable not in scope: getNow

:12:12: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:12:29: error: Variable not in scope: getNow

:13:12: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:13:29: error: Variable not in scope: getNow

:14:12: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:14:29: error: Variable not in scope: getNow

:15:12: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:15:29: error: Variable not in scope: getNow

:16:12: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:16:29: error: Variable not in scope: getNow

:17:12: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:17:29: error: Variable not in scope: getNow

:18:12: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:18:29: error: Variable not in scope: getNow

:19:14: error:  
Variable not in scope: superDirtSetters :: t2 -\> IO (t0, t1)

:19:31: error: Variable not in scope: getNow

:21:13: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:21:25: error: Variable not in scope: getNow

:22:13: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:22:25: error: Variable not in scope: getNow

:23:13: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:23:25: error: Variable not in scope: getNow

:24:13: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:24:25: error: Variable not in scope: getNow

:25:13: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:25:25: error: Variable not in scope: getNow

:26:13: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:26:25: error: Variable not in scope: getNow

:27:13: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:27:25: error: Variable not in scope: getNow

:28:13: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:28:25: error: Variable not in scope: getNow

:29:13: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:29:25: error: Variable not in scope: getNow

:30:15: error:  
Variable not in scope: dirtSetters :: t2 -\> IO (t0, t1)

:30:27: error: Variable not in scope: getNow

:33:31: error:  
• Variable not in scope: c1 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB’ (imported from Sound.Tidal.Context),  
‘cF’ (imported from Sound.Tidal.Context),  
‘cI’ (imported from Sound.Tidal.Context)

:33:34: error:  
• Variable not in scope: c2 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB’ (imported from Sound.Tidal.Context),  
‘cF’ (imported from Sound.Tidal.Context),  
‘cI’ (imported from Sound.Tidal.Context)

:33:37: error:  
• Variable not in scope: c3 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB’ (imported from Sound.Tidal.Context),  
‘cF’ (imported from Sound.Tidal.Context),  
‘cI’ (imported from Sound.Tidal.Context)

:33:40: error:  
• Variable not in scope: c4 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB’ (imported from Sound.Tidal.Context),  
‘cF’ (imported from Sound.Tidal.Context),  
‘cI’ (imported from Sound.Tidal.Context)

:33:43: error:  
• Variable not in scope: c5 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB’ (imported from Sound.Tidal.Context),  
‘cF’ (imported from Sound.Tidal.Context),  
‘cI’ (imported from Sound.Tidal.Context)

:33:46: error:  
• Variable not in scope: c6 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB’ (imported from Sound.Tidal.Context),  
‘cF’ (imported from Sound.Tidal.Context),  
‘cI’ (imported from Sound.Tidal.Context)

:33:49: error:  
• Variable not in scope: c7 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB’ (imported from Sound.Tidal.Context),  
‘cF’ (imported from Sound.Tidal.Context),  
‘cI’ (imported from Sound.Tidal.Context)

:33:52: error:  
• Variable not in scope: c8 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB’ (imported from Sound.Tidal.Context),  
‘cF’ (imported from Sound.Tidal.Context),  
‘cI’ (imported from Sound.Tidal.Context)

:33:55: error:  
• Variable not in scope: c9 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB’ (imported from Sound.Tidal.Context),  
‘cF’ (imported from Sound.Tidal.Context),  
‘cI’ (imported from Sound.Tidal.Context)

:33:58: error:  
• Variable not in scope: c10 :: Pattern a0 -\> m b0  
• Perhaps you meant one of these:  
‘cB0’ (imported from Sound.Tidal.Context),  
‘cF0’ (imported from Sound.Tidal.Context),  
‘cI0’ (imported from Sound.Tidal.Context)

:33:62: error:  
Variable not in scope: d1 :: Pattern a0 -\> m b0

:33:65: error:  
Variable not in scope: d2 :: Pattern a0 -\> m b0

:33:68: error:  
Variable not in scope: d3 :: Pattern a0 -\> m b0

:33:71: error:  
Variable not in scope: d4 :: Pattern a0 -\> m b0

:33:74: error:  
Variable not in scope: d5 :: Pattern a0 -\> m b0

:33:77: error:  
• Variable not in scope: d6 :: Pattern a0 -\> m b0  
• Perhaps you meant ‘Chords.m6’ (imported from Sound.Tidal.Chords)

:33:80: error:  
Variable not in scope: d7 :: Pattern a0 -\> m b0

:33:83: error:  
Variable not in scope: d8 :: Pattern a0 -\> m b0

:33:86: error:  
• Variable not in scope: d9 :: Pattern a0 -\> m b0  
• Perhaps you meant ‘Chords.m9’ (imported from Sound.Tidal.Chords)

:33:89: error:  
Variable not in scope: d10 :: Pattern a0 -\> m b0

:34:17: error: Variable not in scope: hush :: m a0

---

<div class="post-metadata">

**Author:** ![yaxu](https://forum.toplap.org/user_avatar/forum.toplap.org/yaxu/32/3_2.png) [@yaxu](https://forum.toplap.org/u/yaxu)\
**Post date:** [31 August 2019 22:26 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/2 "2019-08-31T22:26:02Z")

</div>

Hi @Orcus , I think you need to update your tidal.el. You can get the latest version here: [https://github.com/tidalcycles/Tidal/blob/master/tidal.el](https://github.com/tidalcycles/Tidal/blob/master/tidal.el)

(I would stick with tidal 1.4.3, it has some bug fixes over 1.4.0)

---

<div class="post-metadata">

**Author:** ![Orcus](https://forum.toplap.org/letter_avatar_proxy/v4/letter/o/ba8739/32.png) [@Orcus](https://forum.toplap.org/u/Orcus)\
**Post date:** [6 September 2019 07:16 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/3 "2019-09-06T07:16:32Z")

</div>

Thanks for your answer, but I already had installed tidal 1.4.3 and the latest tidal.el.  
The version of my haskell-mode is 16.1-3. I do however run emacs 25.2.2, could that be a problem?

All the installation checks on [https://tidalcycles.org/index.php/Troubleshooting\_a\_Tidal\_install](https://tidalcycles.org/index.php/Troubleshooting_a_Tidal_install) check out fine.

Now that I think of it, for debugging I also tried vim-tidal which gives the errors reported above.

[Edit] I now get "Prelude\> Some flags have not been recognized: prompt-cont, " in the _tidal_ buffer

[Edit] I installed atom, and tidal works fine in it. My best guess is that upgrading Emacs from 24 to 25 was the problem.

---

<div class="post-metadata">

**Author:** ![yaxu](https://forum.toplap.org/user_avatar/forum.toplap.org/yaxu/32/3_2.png) [@yaxu](https://forum.toplap.org/u/yaxu)\
**Post date:** [8 September 2019 07:10 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/4 "2019-09-08T07:10:20Z")

</div>

It’ll either be loading an old tidal.el, or an old BootTidal.hs . I think the former.

---

<div class="post-metadata">

**Author:** ![Orcus](https://forum.toplap.org/letter_avatar_proxy/v4/letter/o/ba8739/32.png) [@Orcus](https://forum.toplap.org/u/Orcus)\
**Post date:** [13 September 2019 07:58 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/5 "2019-09-13T07:58:55Z")

</div>

I am afraid that is not the cause. I have searched my entire system for versions of tidal.el and BootTidal.hs.

My tidal.el in use in Emacs is the same as from the tidal 1.4.3 source, and my BootTidal.hs is the same as the one supplied with the Atom package. Both checked with ediff.

[Edit spelling]

---

<div class="post-metadata">

**Author:** ![yaxu](https://forum.toplap.org/user_avatar/forum.toplap.org/yaxu/32/3_2.png) [@yaxu](https://forum.toplap.org/u/yaxu)\
**Post date:** [13 September 2019 08:46 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/6 "2019-09-13T08:46:59Z")

</div>

Something along those lines is wrong. E.g. cpsUtils’ has not been present in tidal for some time.

---

<div class="post-metadata">

**Author:** ![Orcus](https://forum.toplap.org/letter_avatar_proxy/v4/letter/o/ba8739/32.png) [@Orcus](https://forum.toplap.org/u/Orcus)\
**Post date:** [13 September 2019 09:21 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/7 "2019-09-13T09:21:26Z")

</div>

The enormous list of messages is gone, including the cpsUtils message.

Even after forcing the load of the correct tidal.el, instead I get this output in the _tidal_ buffer:

```
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help
Prelude> Some flags have not been recognized: prompt-cont, 
Prelude| Prelude| Prelude| 

```

And running a command shows the tidal commands are not defined:

```
cps(160/60)

<interactive>:3:1: error:
    • Variable not in scope: cps :: Double -> t
    • Perhaps you meant ‘cos’ (imported from Prelude)

```

Inspecting the variable tidal-boot-script-path in Emacs reveals that indeed BootTidal.hs version 1.4.3. is used:

```
tidal-boot-script-path is a variable defined in ‘tidal.el’.
Its value is
"/home/user/.cabal/share/x86_64-linux-ghc-8.0.2/tidal-1.4.3/BootTidal.hs"
```

---

<div class="post-metadata">

**Author:** ![Orcus](https://forum.toplap.org/letter_avatar_proxy/v4/letter/o/ba8739/32.png) [@Orcus](https://forum.toplap.org/u/Orcus)\
**Post date:** [13 September 2019 12:51 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/8 "2019-09-13T12:51:50Z")

</div>

I got it solved by commenting out the line

– :set prompt-cont “”

in BootTidal.hs. Then the entire file loads and it works!

Still weird however that this flag is not recognised.

---

<div class="post-metadata">

**Author:** ![thedigitalDog](https://forum.toplap.org/user_avatar/forum.toplap.org/thedigitaldog/32/119_2.png) [@thedigitalDog](https://forum.toplap.org/u/thedigitalDog)\
**Post date:** [1 December 2019 14:58 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/9 "2019-12-01T14:58:42Z")

</div>

thanks, had the same issue on mac os. working fine with your fix !

---

<div class="post-metadata">

**Author:** ![cavece](https://forum.toplap.org/letter_avatar_proxy/v4/letter/c/977dab/32.png) [@cavece](https://forum.toplap.org/u/cavece)\
**Post date:** [27 April 2020 12:27 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/10 "2020-04-27T12:27:58Z")

</div>

Hi! I have the same problem but commenting out the line :set prompt-cont “” didn’t work. I also updated the plugin and the tidal library.

I still get this:

[https://pastebin.com/KJmKQqsR](https://pastebin.com/KJmKQqsR)

---

<div class="post-metadata">

**Author:** ![yaxu](https://forum.toplap.org/user_avatar/forum.toplap.org/yaxu/32/3_2.png) [@yaxu](https://forum.toplap.org/u/yaxu)\
**Post date:** [28 April 2020 14:09 UTC](https://forum.toplap.org/t/broken-tidal-after-update/783/11 "2020-04-28T14:09:42Z")

</div>

Unfortunately @cavece there’s a bug in haskell which means it doesn’t cope with spaces in folder names.  
If you copied the boottidal.hs file into a new folder without spaces anywhere e.g. C:\tidal, then changed the boottidal.hs location setting in the preferences for the TidalCycles atom plugin to point there e.g. C:\tidal\BootTidal.hs, then it should work.
