Skip to content

juspay/purescript-presto

Repository files navigation

Write apps like equations!

Code as simple and precise as Mathematical Expressions. Presto is written in PureScript harnessing the powers of Functional Programming & Category Theory. What you get is scalable, performant code with elegant abstractions. Our attempt with Presto is to really simplify the app development process.

Talk on Presto @FunctionalConf
Slides

Quickstart

You can get your hands dirty by building a mobile recharge app using Presto

git clone https://github.com/juspay/purescript-presto.git
cd purescript-presto/examples/billpay-react
npm i
bower i
npm start

Open http://localhost:8080/dist/ in your browser.

Code Snippet

billPayFlow :: Flow BillPayFailure StatusScreenAction
billPayFlow = do
  _            <- UI.splashScreen
  operators    <- Remote.fetchOperators
  operator     <- UI.chooseOperator operators
  mobileNumber <- UI.askMobileNumber
  amount       <- UI.askAmount
  result       <- Remote.payBill mobileNumber amount operator
  UI.billPayStatus mobileNumber amount result

See examples directory for more samples.

Examples

You can try out the below examples.

Learning Presto

Presto Guide makes it easy to get started and start building great apps very quickly. We are continually improving Presto's documentation and welcome suggestions of topics we could explain in greater detail. Please send an email to [email protected] with your requests.

Add Presto to your existing project

bower i purescript-presto

Apps in Production

BHIM - Payments App, 17 Million Total Users
JuspaySafe - Payments Browser, 800 Million Txns Processed
JuspayFuel - Payments Solution for Gas Stations, 1000s of Outlets

Community

Get updates on improvements to Presto and chat with the project maintainers and community members.

Join a discussion or start one at our forum or gitter channel.

Contributing

See the CONTRIBUTING.md file for details.