Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/someodd/waffle

Haskell Gopher Protocol TUI Client πŸ§‡
https://github.com/someodd/waffle

gopher-client gopher-protocol haskell

Last synced: about 2 months ago
JSON representation

Haskell Gopher Protocol TUI Client πŸ§‡

Awesome Lists containing this project

README

        

# πŸ§‡ Waffle: Haskell Gopher Protocol Client

Both _gopher_ and _waffle_ in French is "gaufre:"

> The origin of the word 'gopher' is uncertain; French gaufre, meaning
> 'waffle', has been suggested, on account of the gopher tunnels resembling the
> honeycomb-like pattern of holes in a waffle…

β€”"Gopher," Wikipedia.

Waffle is a [Gopher
protocol](https://en.wikipedia.org/wiki/Gopher_%28protocol%29) client with a
text interface written in Haskell, implemented according to [RFC
1436](https://tools.ietf.org/html/rfc1436) technical specification.

You can build and run with `nix`, like `nix build` and `nix run`.

## Alpha

This is a project in alpha. It is not fully functional. It is currently a demo.
This is a project that is helping me learn a few things, namely Haskell, but I
intend to make this a really good Gopher client. I got the idea to make a
Gopher client because the default `gopher` client in Ubuntu was lacking and I
wanted to provide fixes and improvements.

Special thanks to @Garmelon for mentoring me through all of this.

## Try it out!

Compile it with `cabal build` and then try it out with `cabal run waffle
sdf.org 70 phlogs`. I compiled with GHC 8.10.7.

Press `?` while using the browser for full details on using it!

## Built with

* Cabal 3
* Brick

## Tests

Tests are currently just
[doctest](https://hackage.haskell.org/package/doctest), but you can run with
`cabal test`.