OC

OCaml scripting framework that scales to full-featured apps

Hacker News

OCaml scripting framework that scales to full-featured apps

I wanted a way to distribute small pieces of functionality (ie. scripts) to users. Functionality like: - Downloading and configuring JDKs, Gradle and Android Studio so that users could use my software development kit. - Launching a complex cross-compile in WSL2. - Metaprogramming code-translation tools: https://news.ycombinator.com/item?id=38748249 /Distribution problem/ I needed these scripts to be usable by junior engineers (devs who have had only one programming language course in high school) and work on the major desktops (Windows, macOS and marginally Linux). My initial solution was to distribute a set of POSIX scripts (MSYS2 on Windows). That was highly error-prone even with a good linter, and it was hard to troubleshoot problems (stack traces are really useful!). My second solution was to distribute CMake scripts and that worked for quite a while. The problem was the CMake scripts didn't scale well ... if one CMake script included another CMake script but a function's parameters changed, I'd get no signal until runtime that the software was broken. /Hackable problem/ And over time, I realized I had a new requirement: my users should be able to edit and adapt the scripts to their own needs. So, I created and have been using the "DkCoder" scripting framework for the past two months. It is an early alpha based on OCaml, and I haven't finished porting my CMake based scripts yet. But I surprised myself: I thoroughly enjoyed using DkCoder for scripts that I had no intention of distributing to users. This was a new use case I hadn't anticipated. In a week I was able to create a real production service (a webhook) that interacts with AWS SES, Stripe, GitLab and 1Password to manage subscriptions for my software kit. And much of that week was low-level REST plumbing because I wanted to simulate scripting for SaaS teams that didn't yet have their client libraries ready. That is one of three examples included with DkCoder. I'd like feedback whether or not this scripting framework is something you could see yourself using.

Share card

Actual performance

1points
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Strong signals: created, para · Missing: supports, reddit linkedin, podcasting
88%88% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Hacker NewsStrong engagement from HN community · Strong signals: io · Missing: https docs, excited, just released
70%70% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
Product HuntOn track for Day 1 leaderboard · Strong signals: mac, macos, apps · Missing: agents, agent, cursor
67%67% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
TrustMRRLess likely to generate early MRR · Strong signals: apps, month, users · Missing: mobile apps, ios, personal
42%42% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Strong signals: users · Missing: plus, platform, intuitive
40%40% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Strong signals: saas, margin, subscription · Missing: arr, mrr, revenue
16%16% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Incorrect prediction on native model

Similar products

Do
Downtoearth – astronomical scales through geographical intuition36%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Downtoearth – astronomical scales through geographical intuition

Hacker News2
Di
Distributed MapReduce framework in Go67%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Distributed MapReduce framework in Go

Hacker News25
Pr
Primrose - WebVR Framework55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Primrose - WebVR Framework

Hacker News35
Fo
Fosite – OAuth2 framework for Go55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Fosite – OAuth2 framework for Go

Hacker News38
Jo
Joomla Framework55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Joomla Framework

Hacker News1
In
IntercoolerJs – A Declarative Ajax Framework73%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

IntercoolerJs – A Declarative Ajax Framework

Hacker News22
Si
Sirius – a coffeescript MVC framework55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Sirius – a coffeescript MVC framework

Hacker News1
Na
Nanoshell – A framework for Bash scripting54%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Nanoshell – A framework for Bash scripting

Hacker News3
Si
Sirius MVC coffeescript framework55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Sirius MVC coffeescript framework

Hacker News3
ka
kast – An UDP multicast framework55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

kast – An UDP multicast framework

Hacker News12