Charm: a new language in, with, and for Go

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Pipefish

    Source code for the Pipefish programming language

  • I have had only a really a brief glance at your code, nothing controversial so far. Peeking right into the first source ast.go only reminded unfortunate design decision of Go authors, preventing to have now generic methods. Instead of repetitive writing down all common implementing methods like GetToken, TokenLiteral, it could be done in only a single parametrized definiton. So sad. End of little rant.

  • Lisp-in-Charm

  • The manual has lots of examples, and so does the distribution that goes with it --- in fact over 12% of the source code distro is example code in Charm rather than actual Go source code. (Look in the src folder.) This includes toy implementations of Forth, Z80 machine code, and most recently Lisp.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • Charm-MacOS

    MacOS executable for Charm

  • There's source code here, a Mac executable with auxiliary files here, and there's a manual here which also has notes in pink to explain the reasoning behind my choices. If you like the project, please add a star to the source code repo. Thanks!

  • charm

    The Charm Tool and Library 🌟

  • Not too much to say on this but you may want a different name, charms already used for a go terminal library https://github.com/charmbracelet/charm

  • go-regex

    A High Performance PCRE Regex Package That Uses A Cache.

  • For regex, I would suggest making sure you use PCRE, since the built-in RE2 is slower and more limited. I also have a go module that uses PCRE regex with a cache, and some JavaScript like features: https://github.com/AspieSoft/go-regex

  • sprig

    Useful template functions for Go templates.

  • You mentioned something about PHP. We also already have a templating language in the standard library that can be extended (commonly done with sprig).

  • readline

    Pure Go reimplimentation of readline (by lmorg)

  • ... I kind of am, though. Which is why I didn't know what to do. I don't see a lot of free open source projects with extensive documentation in their README. Some, yes, but for example here's the readline library I'm using. I, in my well-meaning ignorance, supplied 50 pages of documentation and people are behaving like I ate a baby 'cos it's in the wrong format. I will now put it all in the README as people would like, but I did genuinely act out of ignorance and not out of a wish to insult the customs of the tribe.

  • 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.

    InfluxDB 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