Popularity
8.1
Growing
Activity
3.3
Declining
48
3
1

Monthly Downloads: 191
Programming language: Haskell
License: Mozilla Public License 2.0
Tags: Utils     Command Line     Shell    
Latest version: v0.0.3.1

shellmet alternatives and similar packages

Based on the "Command Line" category

Do you think we are missing an alternative of shellmet or a related project?

Add another 'Command Line' Package

README

shellmet

GitHub CI Hackage Stackage Lts Stackage Nightly [MPL-2.0 license](LICENSE)

Out of the shell solution for scripting in Haskell. Shellmet provides an easy and convenient way to call shell commands from Haskell programs.

Usage example

This README contains the usage example of the shellmet library. The example is runnable. You can build and execute with the following command:

cabal run readme

Setting up

Since this tutorial is written using Literate Haskell, first, let's write all necessary pragmas and imports.

{-# LANGUAGE OverloadedStrings #-}

import Data.Semigroup ((<>))
import Shellmet (($|))

import qualified Data.Text as T

Simple scripting example

Below you can see how easy it is to interact with shell commands in Haskell:

main :: IO ()
main = do
    "echo" ["Starting shellmet readme..."]
    text <- "cat" $| ["README.md"]
    let cnt = T.pack $ show $ length $ T.lines text
    "echo" ["Number of lines in this README: " <> cnt]

And the output is:

⚙  echo 'Starting shellmet readme...'
Starting shellmet readme...
⚙  echo 'Number of lines in this README: 54'
Number of lines in this README: 54


*Note that all licence references and agreements mentioned in the shellmet README section above are relevant to that project's source code only.