...the Vim's way to prepare Haskell recipies.

Learn how to use it Download

What is this page and why that logo seems a big ball of worms?

They are seeds, not worms. Cumino means Cumin in italian. Quoting from Wikipedia: "Cumin can be an ingredient in chili powder , and is found in achiote blends, adobos, sofrito, garam masala, curry, and bahaarat.". Do you understand now?


Cumino : Vim = Curry : Haskell


Ok but, technically speaking, what is Cumino?

Cumino is a Vim bundle which connects Vim and Ghci together, through Tmux. Simply open Vim, press one command and start playing with your Haskell code immediately. You can load your buffer inside Ghci in a breeze, as well as loading single code portion. Do you want to rapidly test that snippet without reloading the entire file? You can do it! Cumino will perform the dark magic under the hood. You can send to Ghci any kind of snippet: imports, record and types definitions, instance declarations and even function with their signatures. Cumino will properly handle all this cases for you, so you can spend time doing the only thing worth doing in life, coding :P

How does it look like?

This is a simple Haskell file and a Cumino session running:


Why not using a Vim plugin like Conque or Vimshell?

Personally, I find plugins that tries to emulate shell layer clumsy or incomplete. If you agree with me, Cumino can be handy.


Does Cumino support sandboxed environments?

Yes it does. If you have started an Hsenv sandbox environment in the same shell where Vim is run, Cumino automatically invoke the right ghci for you: this means you get all the available modules of the sandboxed environment! Handy, isn't it?


How Cumino integrates with existing Haskell plugins?

Like any Unix tools, it does not. Cumino is unobtrusive, and that means you can use any Haskell plugin you want: ghc-mod, vim-haskellfold, anything. Cumino simply adds the possibility to open a new Tmux session and send buffer content to it. Nothing less, nothing more.