https://github.com/j3rn/tacit
A library to allow "tacit" or "point-free" programming in Elixir
https://github.com/j3rn/tacit
Last synced: 22 days ago
JSON representation
A library to allow "tacit" or "point-free" programming in Elixir
- Host: GitHub
- URL: https://github.com/j3rn/tacit
- Owner: J3RN
- License: mit
- Created: 2021-09-29T14:15:22.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-09-29T14:59:04.000Z (almost 5 years ago)
- Last Synced: 2025-10-23T23:52:50.718Z (10 months ago)
- Language: Elixir
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tacit
A library to facilitate ["tacit" or "point-free" programming](https://en.wikipedia.org/wiki/Tacit_programming).
For instance, a traditional, pointed function might read:
```elixir
def foo(arg), do: arg |> String.split() |> Enum.reverse()
```
Here, the usage of the point `arg` is just noise, and adds little to the implementation. Contrast this with the Tacit equivalent:
```elixir
let foo = String.split() |> Enum.reverse()
```
The Tacit version is shorter, and contains substantially less syntactic noise.
## Installation
This library is not yet on Hex, as I'm not sure it's generally useful. However, if you want to pull this library into your project, you can update the `deps` function in your `mix.exs` with the following:
```elixir
def deps do
[
{:tacit, github: "J3RN/tacit"}
]
end
```