๐Ÿ“ฆ juspay / purescript-presto

Write Apps like Mathematical Equations!

โ˜… 239 stars โ‘‚ 45 forks ๐Ÿ‘ 239 watching โš–๏ธ Other
app-developmentfunctional-programmingnativepurescript
๐Ÿ“ฅ Clone https://github.com/juspay/purescript-presto.git
HTTPS git clone https://github.com/juspay/purescript-presto.git
SSH git clone git@github.com:juspay/purescript-presto.git
CLI gh repo clone juspay/purescript-presto
ACreed ACreed Merge pull request #56 from juspay/update/readme 11ee9b1 1 years ago ๐Ÿ“ History
๐Ÿ“‚ master View all commits โ†’
๐Ÿ“ assets
๐Ÿ“ examples
๐Ÿ“ src
๐Ÿ“ test
๐Ÿ“„ .eslintrc.json
๐Ÿ“„ .gitignore
๐Ÿ“„ bower.json
๐Ÿ“„ CONTRIBUTING.md
๐Ÿ“„ LICENSE
๐Ÿ“„ package-lock.json
๐Ÿ“„ README.md
๐Ÿ“„ README.md

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 presto@juspay.in 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.