Skip to content
This repository was archived by the owner on Dec 11, 2018. It is now read-only.
libreircPublic archive

About

Elm library to read and write to the console in Node.

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

126 Commits

Folders and files

Repository files navigation

Elm Console Build Status

This library allows reading and writing from the console in Node. It is a replacement for maxsnew/IO, which is no longer updated.

Example

An elm Program:

module Main where

import Console exposing (IO, (>>>), (>>=), forever, getLine, pure, exit, putStrLn)
import Task

import List
import Maybe
import String

echo : IO ()
echo = forever (getLine >>= putStrLn)

loop : IO ()
loop = getLine >>= \s ->
       if s == "exit"
       then pure ()
       else putStrLn s >>> loop

hello : IO ()
hello = putStrLn "Hello, Console!" >>>
        putStrLn "I'll echo your input until you say \"exit\":" >>>
        loop >>>
        putStrLn "That's all, folks!" >>>
        exit 0

port runner : Signal (Task.Task x ())
port runner = Console.run hello

link in some javascript and then run:

$ elm-make --yes test/Test.elm raw-test.js
...
$ ./elm-io.sh raw-test.js test.js
$ node test.js
Hello, Console!
I'll echo your input:
hooray
hooray
That's all, folks!

How to contribute

Please fork this repo and send Pull Requests!

# Install dependencies including Elm runtime
yarn
# Perform tests
yarn test

# Open Elm REPL
yarn elm-repl
# Generator documentation.json
yarn elm-make -- --docs documentation.json

Design and Implementation

The implementation is based on the IOSpec haskell library.



BSD 3-Clause License

About

Elm library to read and write to the console in Node.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages