Skip to content

lettier/lambda-lantern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Lambda Lantern πŸ˜ƒ

Lambda Lantern

What is Lambda Lantern? πŸ€”

Lambda Lantern

Lambda Lantern is a game made with PureScript, PureScript Native, and Panda3D. The premise of the game involves collecting and using functional programming patterns to solve puzzles and ultimately escape a dungeon.

One of the purposes of Lambda Lantern is to demonstrate binding PureScript to C++.

Lambda Lantern originally started as a GitHub Game Off submission.

How do I build and run Lambda Lantern? πŸ”¨

Lambda Lantern

# Install Git. # Install nvm (https://github.com/creationix/nvm). # Install Panda3D (https://www.panda3d.org/download/sdk-1-10-1/). # Install Haskell Stack (https://docs.haskellstack.org/en/stable/README/). cd # Install PureScript Native (https://github.com/andyarvanitis/purescript-native). git clone https://github.com/andyarvanitis/purescript-native.git cd purescript-native git checkout aa857adec6aa40edac91bcacfe4c3b7c5f1c3f2d stack install cd # Update path for PureScript Native compiler pscpp. export PATH="${PATH}:${HOME}/.local/bin" # Download and install the FFI exports. git clone https://github.com/lettier/purescript-native-ffi.git cd purescript-native-ffi git checkout lambda-lantern cd git clone https://github.com/lettier/lambda-lantern.git # Note the trailing dot. cp -nr purescript-native-ffi/. lambda-lantern/ffi/ cd lambda-lantern # Install Node.js. nvm install `cat .nvmrc` && nvm use # Install PureScript and psc-package. npm install -g purescript@0.13.0 psc-package-bin-simple@3.0.1 # Install the PureScript dependencies. psc-package install # Build Lambda Lantern. # Double check the include and lib paths. # You may need additional flags for your platform. make \ CXXFLAGS=" \  -fmax-errors=1 \  -I/usr/include/python \  -I/usr/include/panda3d \  -I/usr/include/freetype2" \ LDFLAGS=" \  -L/usr/lib/panda3d \  -lp3framework \  -lpanda \  -lpandafx \  -lpandaexpress \  -lp3dtoolconfig \  -lp3dtool \  -lp3pystub \  -lp3direct \  -pthread \  -lpthread" # Run Lambda Lantern. LAMBDA_LANTERN_ASSETS_PATH="./assets" ./output/bin/lambda-lantern

What is the license? πŸ“œ

Lambda Lantern

For license information, see LICENSE.

Who wrote Lambda Lantern? ©️

Lambda Lantern

(C) 2018 David Lettier
lettier.com