Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mungasoftwiz/braincaml
An OCaml-based interpreter for the Brainf*ck esoteric programming language.
https://github.com/mungasoftwiz/braincaml
brainfuck functional-programming ocaml ocaml-program
Last synced: about 1 month ago
JSON representation
An OCaml-based interpreter for the Brainf*ck esoteric programming language.
- Host: GitHub
- URL: https://github.com/mungasoftwiz/braincaml
- Owner: MungaSoftwiz
- Created: 2024-04-26T21:38:47.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-05-21T16:08:02.000Z (6 months ago)
- Last Synced: 2024-09-30T06:40:14.769Z (about 2 months ago)
- Topics: brainfuck, functional-programming, ocaml, ocaml-program
- Language: OCaml
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BrainCaml - WIP
BrainCaml is a work-in-progress program designed to practice functional
programming concepts in OCaml. It serves as an interpreter for the Brainfuck
esolang, allowing users to write and execute Brainfuck programs within the
OCaml environment.## Functional Programming Practice
BrainCaml provides an opportunity to dive into functional programming principles
such as immutability, pattern matching, recursion, and higher order functions.
By implementing a Brainfuck interpreter, I aim to gain hands-on experience in
applying these concepts to solve real-world problems.## Features
- Interprets Brainfuck programs written in a concise, minimalistic syntax.
- Supports all standard Brainfuck commands: `>`, `<`, `+`, `-`, `.`, `,`, `[`, and `]`.
- Utilizes functional programming techniques to ensure clean, modular, and
efficient code.## Usage
1. Clone the repository to your local machine.
2. Compile the OCaml source files using `ocamlopt`.
3. Run the compiled executable, passing the path to a Brainfuck program file
as an argument.```
$ ocamlopt -o braincaml braincaml.ml
$ ./braincaml example.bf
```