Skip to main content

Meetup 4: Continuing Dream Web Server development

· 2 min read
Manas Jayanth
Managing Partner at Dining Philosophers, LLP.

I led the session today. We managed to,

  1. We'll be replace the hello world html printing router in from the last session on Dream, with a server side rendered Hello World react component.
  2. Replace the hello world component with a simple click counter
  3. Setup frontend stack: the react component in the previous step will be compiled to JS with Melange and bundled with Webpack.
  4. See React component hydration at work from a natively compiled website that rendered the react component

We were joined by organisers of two other communities, Anupam from Functional Programming, India and svs from The Engineering Org

Next meetup: May 26th, 2pm.

We learn how Melange compiler works with a build system to generate JS artifacts. We see how webpack-reason-loader was built and try to integrate it with this website here You can find the code repository on Github org. You can reach out me on X at @ManasJayanth if you have any trouble. I recommend you set it up and install the dependencies to save time during the call :)

Please reach out to us on Discord if you're lost setting up the tools.

Stay in touch with us


Twitter: https://twitter.com/ReasonBangalore

Discord: https://discord.com/invite/RamP7SCKcU

Meetup 3: How ocaml.org is built with Dream

· One min read
Manas Jayanth
Managing Partner at Dining Philosophers, LLP.

Shakthi Kannan introduced us to how the ocaml.org website is built.

You need to first install Opam (OCaml Package Manager) on your system, and a demo video is available.

The OCaml.org website sources are at OCaml.org. After cloning the repository, you need to run:

$ make switch
$ make start

A dashboard of good-first-issues to contribute to the OCaml.org web project are available.

We had a casual round of discussion about embedded systems as some of the attendees write embedded software for a living. Of course, mirage.io came up!

Next meetup: May 19th, 2pm.

We continue where we left off last weekend. You can find the code repository on Github org. You can reach out me on X at @ManasJayanth if you have any trouble. I recommend you set it up and install the dependencies to save time during the call :)

Setting up OCaml and Reason tools isn't easy for everyone. Please reach out to us on Discord if you're lost setting up the tools.

Stay in touch with us


Twitter: https://twitter.com/ReasonBangalore

Discord: https://discord.com/invite/RamP7SCKcU

Meetup 2: Live coding a web server with OCaml and what's next

· 2 min read
Manas Jayanth
Managing Partner at Dining Philosophers, LLP.

We wrote a Dream web server with a hello world route - ie. you curl and get the string “hello, world” from the “/“ endpoint. We started from scratch, empty directory even, and worked our way up. We intend to continue this series, so if you like to catch we what we have so far, here’s what we did so far.

We,

  1. Created a package.json to install a local compiler and build system ( Dune ).
  2. Initialised a project with dune init proj reason_ocaml_dev.
  3. Ran the hello world setup by Dune for us with the dune exec command.
  4. Installed ocaml-lsp-server, ocamlformat and reason syntax extension
  5. Referred to https://github.com/ManasJayanth/fullstack-reason-react-demo and wrote the first Dream route (I had never written one before). Made mistakes, saw type errors in action, fixed and for the hello world Dream web server to work.

We have two talk proposals for next meetup, either,

  1. @shaktimaan introduce us to some more Dream fundamentals and help us understand @ocaml_orgs website.
  2. Kaushik Hatti will show us getting started with Ocsigen so we can compare notes/experience.

So, we’re meeting up (online) again this Sunday. At 2pm IST. 


Code

You can find the code we wrote so far on our Github org. You can reach out me on X at @ManasJayanth if you have any trouble.

Stay in touch with us


Twitter: https://twitter.com/ReasonBangalore

Discord: https://discord.com/invite/RamP7SCKcU

Introduction to Functional Programming with OCaml

· One min read
Manas Jayanth
Managing Partner at Dining Philosophers, LLP.

In our latest meeting, familiar faces returned, showing sustained interest since our group's inception. Attendees, experienced in OCaml or eager to learn, dedicated their Sunday afternoon to engage with us. We agreed to meet weekly online to write OCaml together, enhancing our community ties. Discussions also covered potential venues in Bangalore for in-person gatherings. Our focus was on functional programming, specifically OCaml. For a deeper dive into the topics discussed, visit Manas Jayanth's Slides. Join us next time as we continue exploring and building our community through collaboration and coding.

Meetup 1 - Prologue MDX Blog Post

· One min read
Manas Jayanth
Managing Partner at Dining Philosophers, LLP.

Thank you everyone for the great response to the first ever Reason/OCaml meetup in Bangalore. Here's what we have planned:

The first meetup is aimed at being an introductory one. We have encourages all the speakers to feel free to explain the whys and hows of Reason.

Quickly summarised, talks range from explaining the rationale behind picking up Reason/OCaml for a given set of problems to completely serveless setup of GraphQL and ReasonML. We also plan to discuss how Reason, with it's static types, can help manage large SPA code bases.

Stay tuned!

Announcing Reason Bangalore

· One min read
Manas Jayanth
Managing Partner at Dining Philosophers, LLP.

Hey,

Finally, Bengaluru finally gets it's own Reason/OCaml community. And hopefully, the meetup serves as an excuse to meet, exchange ideas, and hack on all things Reason/OCaml.

Reason Bangalore is an inclusive, beginner friendly and motivated individuals, looking to help each with Reason/OCaml. It is important that we're respectful of each other.

We hope Reason Bangalore provides a great platform to discuss type safety, ecosystem shortcomings, tooling, proposed solutions, FP influenced software practises (UI, reproducible builds, abstractions etc) and all things FP that can help us practise writing robust software. At the same time, we need to be mindful of newcomers and ensures everyone feels welcome :)

Cheers!