nowfound

Dev tools · alternatives · 2026

24 alternatives to Generic util types for Go 1.18

Generic types and functions that are missing from Go, including sets, linked lists, trees, etc. - GitHub - applejag/typ: Generic types and functions that are missing from Go, including sets, linked lists, trees, etc.

Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. Generic util types for Go 1.18 launched in 2022; newer entries below may have overtaken it.

  1. 1

    It took a while to implement, though now I have generic functions working in Axe. Documentation, repository and site attached.

    Dec 2025 · axe-docs.pages.dev · its alternatives →

  2. 2

    A lisp rosetta stone to demonstrate modern language features - eatonphil/lisp-rosetta-stone

    2021 · github.com · its alternatives →

  3. 3

    An experimental language which adds functional programming features to Go. - albrow/fo

    2018 · github.com · its alternatives →

  4. 4

    I spent the past 2 weeks making this toy programming language. I basically forked the Go scanner/parser, and changed the syntax to have functions return a single value. This enable proper Result/Option type to be used as well as propagating errors with an operator. I also wanted to have short "type inferred" anonymous functions to be able to use functions like Map/Reduce/Filter, without having to use 100 characters to specify the types.

    2025 · github.com · its alternatives →

  5. 5

    Guts is a code generator that converts Golang types to Typescript. Useful for keeping types in sync between the front and backend. - coder/guts

    Nov 2025 · github.com · its alternatives →

  6. 6

    Generate Typescript types from Golang source code. Contribute to gzuidhof/tygo development by creating an account on GitHub.

    2022 · github.com · its alternatives →

  7. 7

    the JS/Node.JS library for encoding complex and unconventional data structures. Support for BigInts, TypedArrays, null, undefined, and Symbol. Multiple flavors available. - DO-SAY-GO/WeirdJSON

    2020 · github.com · its alternatives →

  8. 8

    Implementations of https://github.com/golang/go/wiki/SliceTricks using generics - jamespwilliams/slicetricks

    2022 · github.com · its alternatives →

  9. 9

    A simple utility for running exhaustiveness checks on Go "sum types." - BurntSushi/go-sumtype

    2017 · github.com · its alternatives →

  10. 10

    Hey HN, I’m sharing ts-chan, an NPM package providing Go-like concurrency primitives, including channels and select statements, for TypeScript and JavaScript, supporting Node.js, Deno, Bun, and browsers. This is something I've built to make implementing Go-style "control loops" feasible in JavaScript, but there are many possible applications. Highlights: - Features a FIFO processing Chan class and versatile Select class for concurrency control. - Supports buffered channel and channel close semantics very close to Go's. - TypeScript-first implementation. - Defines a simple "channel protocol"…

    2023 · github.com · its alternatives →

  11. 11

    Millions of developers have used quicktype to generate ten billion lines of typesafe models, serializers, and validators from JSON, JSON Schema, and GraphQL in TypeScript, Python, Swift, C#, Go, Rust, Kotlin, Java, C++, Zod and more. Use it in the browser, from the command line, or give it to your A

    2017 · quicktype.io · its alternatives →

  12. 12

    A dialect of Go with optional types and without nil references. - tcard/sgo

    2016 · github.com · its alternatives →

  13. 13

    A curated list of collection of Go projects and resources

    2025 · github.com · its alternatives →

  14. 14

    We propose adding powerful type-level introspection and construction facilities to Python’s type system. This design is inspired largely by TypeScript’s conditional and mapped types, but is adapted to the distinct semantics and constraints of Python’s t...

    Mar 2026 · peps.python.org · its alternatives →

  15. 15

    A collection of utilities for async code in Go. Contribute to 41north/async.go development by creating an account on GitHub.

    2022 · github.com · its alternatives →

  16. 16

    Type checking and DDD for JavaScript. Contribute to gcanti/tcomb development by creating an account on GitHub.

    2016 · github.com · its alternatives →

  17. 17GM

    I’ve worked a lot with C# and .NET, and one tool I really missed when using Go was AutoMapper. So I built go-mapper, a lightweight Go package that helps map between structs — useful for converting DTOs to domain models, etc. Uses Go generics (1.18+) Supports shallow copy of fields Custom field transformations with fluent API Optional interface for struct-level control Example: type CreateUserDto struct { Name string Password string } type User struct { Name string PasswordHash string } mapper.CreateProfile(CreateUserDto{}, User{}, mapper.ForMember(func(u *User) any { return &u.PasswordHash…

    2025 · its alternatives →

  18. 18

    Frequent memory allocations can be costly in Go. Go's sync.Pool helps with object reuse but isn't type-safe and can introduce bugs. You need type assertions, and it's easy to accidentally return objects twice or forget to return them at all. SafePool provides type safety with Go generics, eliminating the need for type assertions and making pool usage safer and clearer. For objects that need to live across function boundaries, we added PoolManager. It tracks all objects obtained from pools and ensures they're all returned when the manager is cleaned up, preventing leaks across function calls.…

    Dec 2025 · github.com · its alternatives →

  19. 19

    A Common Lisp-like Lisp-1 in Go with TCO and partially hygienic macros - nukata/lisp-in-go

    2018 · github.com · its alternatives →

  20. 20GI
  21. 21

    A Typescript 'Hello World' example project that utilizes Three.js and jQuery through DefinitelyTyped typings. - selbyk/three.ts

    2016 · github.com · its alternatives →

  22. 22

    Lint JavaScript and TypeScript against plain-English project conventions with Jev. - zdenham/jev-lint

    Sep 2026 · github.com · its alternatives →

  23. 23

    This example shows how to use Anychart library with the Go programming language and MySQL database. - anychart-integrations/golang-http-mysql-template

    2016 · github.com · its alternatives →

  24. 24

    Option, Result, and Either types for TypeScript - Inspired by Rust 🦀 - slavovojacek/monads

    2020 · github.com · its alternatives →

Also compare

Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →