Dynamic programming in Haskell: automatic memoization

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • calculang

    calculang is a language for calculations 🧮💬👩‍💻

  • I develop calculang, a language for calculations. It converts concise formulae into Javascript.

    Since calculation formulae are usually inherently pure, a `--memo` flag to the compiler memoizes the lot.

    Many of my models are written in this recursive style and only work because of memoization. Sometimes other tricks are needed e.g. careful ordering of the calls, so that the memo is available before the stack breaks.

    My first calculang example is a bouncing ball: the position at t depends speed and the position at t-1. With loops we'll usually discover the same thing, but it's so much harder to follow.

    First-class memoization to proliferate this style is a really neat thing.

    [0] https://github.com/calculang/calculang

    [1] bouncing ball code: https://github.com/declann/calculang-miscellaneous-models/bl...

    [2] bouncing ball initial post: https://observablehq.com/@declann/calculang-bouncing-ball?co...

    [3] if you can tolerate my slow-load WIP devtools and are on a Desktop, this is better, with buttons to navigate through the model development (only some of which are working now!): https://models-on-a-plane.pages.dev/stories/bounce/

  • calculang-miscellaneous-models

    miscellaneous models for calculang ✨🎁

  • I develop calculang, a language for calculations. It converts concise formulae into Javascript.

    Since calculation formulae are usually inherently pure, a `--memo` flag to the compiler memoizes the lot.

    Many of my models are written in this recursive style and only work because of memoization. Sometimes other tricks are needed e.g. careful ordering of the calls, so that the memo is available before the stack breaks.

    My first calculang example is a bouncing ball: the position at t depends speed and the position at t-1. With loops we'll usually discover the same thing, but it's so much harder to follow.

    First-class memoization to proliferate this style is a really neat thing.

    [0] https://github.com/calculang/calculang

    [1] bouncing ball code: https://github.com/declann/calculang-miscellaneous-models/bl...

    [2] bouncing ball initial post: https://observablehq.com/@declann/calculang-bouncing-ball?co...

    [3] if you can tolerate my slow-load WIP devtools and are on a Desktop, this is better, with buttons to navigate through the model development (only some of which are working now!): https://models-on-a-plane.pages.dev/stories/bounce/

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • AI intensifies fight against ‘paper mills’ that churn out fake research

    1 project | news.ycombinator.com | 31 May 2023
  • 8 NPM Packages for JavaScript Beginners [2024][+tutorials]

    6 projects | dev.to | 2 Apr 2024
  • Getting Started with Lodash: A Beginner's Guide to JavaScript Utility Functions

    1 project | dev.to | 21 Mar 2024
  • JavaScript Libraries That You Should Know

    8 projects | dev.to | 19 Mar 2024
  • Tacit Programming

    3 projects | news.ycombinator.com | 24 Feb 2024