Happ
About
Application for learning, practicing and improving programming skills.
This application begun as toy project during my hospitalization.
There is no specific plan, goal neither roadmap.
It is just for joy of learning and to have some fun.
Motivation
Primary
- Implement "Hello World" program in various programming languages
- Implement FFI - Foreign Function Interface
- Interop between various programming languages
- Use language agnostic build system
- Use best practices
- Integrate tests
- Generate documentation
- Implement profiling
Secondary
- Learn some more mathematics
- Learn some more physics
Languages
- C
- C++
- Elixir
- Haskell
- Nodejs
- Prolog
- Rust
And more are coming.
Prerequisites
C
- C Compiler
- Make
- CMake
- OpenGL
- GLut
Elixir
Used mostly by backend
- Erlang
- Erlang Devel Package (ie. erlang-dev) - for NIFs
- Elixir
- Phoenix
- hex
- mix
Javascript
- nodejs
- npm or yarn
- typescript
- webpack
Rust
- rustup.rs
- rust
- cargo
- cargo-wasm
Building
This part expects that all required prerequisites and dependencies are installed.
# Clone sources - githab
$ git clone https://github.com/korczis/happ
# Clone sources - gitlab
# $ git clone https://gitlab.com/korczis/happ
# Enter folder with sources
$ cd happ
# Run top level makefile which builds all subprojects
$ make
References
Rust
- rust - A language empowering everyone
to build reliable and efficient software. - rustup.rs - installer for
the systems programming language Rust.
WASM
- wasm-pack - our favorite rust -> wasm workflow tool!
Learn more about Elixir / Phoenix
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix
On this page
Contributors
Created April 23, 2021
Updated November 24, 2024