nominal VS Elm

Compare nominal vs Elm and see what are their differences.

nominal

🔒 The new way to do types in typescript. (by scalarhq)

Elm

Compiler for Elm, a functional language for reliable webapps. (by elm)
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
nominal Elm
3 198
259 7,451
0.0% 0.2%
0.9 5.4
about 1 year ago about 2 months ago
TypeScript Haskell
- BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

nominal

Posts with mentions or reviews of nominal. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-22.
  • Unlocking type-safety superpowers in TypeScript with nominal and refinement typ
    1 project | news.ycombinator.com | 3 Aug 2022
  • Unlocking type-safety superpowers in Typescript with nominal and refinement types
    7 projects | /r/typescript | 22 Jul 2022
    Hey OP here, Wanted to share something we recently discovered in typescript. This is a way to to create haskell style Newtype using the lesser known \`symbols\` ```ts type Minutes = number type Seconds = number const minutesToSeconds = (minutes: Minutes) => minutes * 60 const seconds: Seconds = 420 // uh-oh, we can use Minutes and Seconds interchangeably minutesToSeconds(seconds) ``` Nominal types solve this problem ```ts import { Nominal, nominal } from 'nominal-types'; type Minutes = Nominal<'Minutes', number>; type Seconds = Nominal<'Seconds', number>; const minutesToSeconds = (minutes: Minutes) => minutes * 60 // You can directly type cast or use nominal.make const seconds = nominal.make(420) const minutes = 1337 as Minutes // doesn't work, yay type safety minutesToSeconds(seconds) // does work! minutesToSeconds(minutes) ``` We have some lot cooler examples https://github.com/modfy/nominal#examples You can also read more about it here: https://zackoverflow.dev/writing/nominal-and-refinement-types-typescript

Elm

Posts with mentions or reviews of Elm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-21.

What are some alternatives?

When comparing nominal and Elm you can also consider the following projects:

type-fest - A collection of essential TypeScript types

rescript-compiler - The compiler for ReScript.

typescript-runtime-type-benchmarks - 📊 Benchmark Comparison of Packages with Runtime Validation and TypeScript Support

haskelm - Haskell to Elm translation using Template Haskell. Contains both a library and executable.

true-myth - A library for safer and smarter error- and "nothing"-handling in TypeScript.

purescript - A strongly-typed language that compiles to JavaScript

zod - TypeScript-first schema validation with static type inference

yew - Rust / Wasm framework for creating reliable and efficient web applications

io-ts - Runtime type system for IO decoding/encoding

idris - A Dependently Typed Functional Programming Language

reflex - Interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse.

haskell-names - Haskell suite library for name resolution