https://github.com/nielsouvrard/wolfram
Software that displays the output of a one-dimensional cellular automaton. In Haskell
https://github.com/nielsouvrard/wolfram
Last synced: 3 months ago
JSON representation
Software that displays the output of a one-dimensional cellular automaton. In Haskell
- Host: GitHub
- URL: https://github.com/nielsouvrard/wolfram
- Owner: NielsOuvrard
- License: other
- Created: 2023-10-21T18:55:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-26T09:45:35.000Z (over 1 year ago)
- Last Synced: 2025-01-08T12:14:29.246Z (4 months ago)
- Language: Haskell
- Homepage:
- Size: 63.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Wolfram
## Description
Wolfram is a software that displays the output of a one-dimensional cellular automaton, named after Stephen Wolfram, the creator of Mathematica. The software is written in Haskell. It is a command-line application.
## Installation
To install Wolfram, follow these steps:
1. Install stack from https://docs.haskellstack.org/en/stable/README/
2. Execute `make`
3. And use it, for example: `./wolfram --rule 110 --lines 20`## Usage
Wolfram provides a variety arguments to customize the output. The following table describes the available arguments:
- `--rule` - The rule to use for the cellular automaton. Must be an integer between 0 and 255.
- `--lines` - The number of lines to output. Must be an integer greater than 0.
- `--start` - The starting configuration of the automaton. Must be a string of 0s and 1s.
- `--window` - The number of cells to display at once. Must be an integer greater than 0.
- `--move` - The number of cells to move the window after each step. Must be an integer greater than 0.To have a gui interface, you can compile with `make gui` and then execute `./wolfram-gui`.
But be sure to have SFML installed, you can install it with `sudo apt-get install libsfml-dev`.## Screenshots
`./wolfram --rule 102 --lines 60 --window 125 --start 0 --move 0`
`wolfram --rule 90 --lines 60 --window 125 --start 0 --move 0`
