Bolt

Languages and libraries

scripting language

SHOW HN2025

261points
95comments
#221of 3,837 in 2025
Top 6%of 2025 by points

How HN took it

MixedNo clear lean

14 positive, 26 neutral or asking, 2 mixed, 23 critical, out of 65 comments about the project. Thread score -0.10.

Design: 3 for, 11 againstPerformance: 2 for, 6 againstIdea: 3 for, 3 againstExecution: 0 for, 2 againstDocs: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Good idea of adding static typing to a Lua-like language

    From 2 comments
    • Wow a fast scripting language with normal syntax and type checking.. Really hope this can take off and be a valid Lua alternative.
      slmjkdbtl on HN
    • Very cute language .. ``` match x { is table { print(indent_this + "{") for pair in pairs(x) { write(indent + " " + to_string(pair.key) + ": ") pretty_print_internal(pair.value,…
      boffinAudio on HN

Objections

  • Not portable to MacOS or aarch64 yet

    From 1 comment
    • This is really cool but it's not portable to MacOs or aarm64 yet, and that kind of portability unfortunately is what appeals to me about an embeddable scripting language.
      merksoftworks on HN
  • Performance claims unclear; slower than LuaJIT in tests

    From 3 comments
    • Run some examples, and it looks like this "High-performance, real-time optimized, super-fast" language is ``` ~ 10 times slower than luajit ~ 3 times slower than lua 5.4 ```
      megapoliss on HN
    • I used brainfuck interpreter https://github.com/Beariish/bolt/blob/main/examples/bf.bolt vs lua / luajit implementations from https://github.com/kostya/benchmarks Just checked…
      megapoliss on HN
    • for nbody 500000 on my i5-9300H CPU @ 2.40GHz ``` - 487.41 millis / 2364 kb ram for luajit -joff - 770.17 millis / 41712 kb ram for bolt 770.17 / 487.41 ~~ 1.58 cpu, not 2x, but…
      megapoliss on HN
  • Uses double floats with no integer type

    From 2 comments
    • I was quite excited by the description and then I noted that Bolt heavily relies on double floating point numbers. I am quite disappointed because this doesn't allow me to use…
      conaclos on HN
    • Why repeat JavaScript's mistake of having all numbers be floats, with no integer type? I thought that one's well known by now :(
      eqvinox on HN
  • Import syntax puts symbols before module name

    From 2 comments
    • I like 99% of this, and the thing I don't like is in the very first line of the example: > import abs, epsilon from math IMHO it's wrong to put the imported symbols first,…
      perlgeek on HN
    • I don't understand why people still choose the syntax `import xxx from yyy` in the current year. It is a major source of complaining for languages like python or javascript,…
      npn on HN

Requests

  • Support for 32-bit ARM or embedded targets

    From 2 comments
    • Sounds very good, and I can see many use cases in embedded systems. But that probably requires 32-bit arm support. Is that planned ?
      grodriguez100 on HN
    • I was quite excited by the description and then I noted that Bolt heavily relies on double floating point numbers. I am quite disappointed because this doesn't allow me to use…
      conaclos on HN
  • Language server and formatting tooling

    From 1 comment
    • Looks nice! Is there any plans on a language server and formatting tooling? Usually I feel like that's bare minimum before I'd like to try and play around with a language
      Warwolt on HN
  • Breakpoints or debugging server

    From 1 comment
    • Looks great, I'm especially a fan of the more C and Python syntax. Lua works, but its syntax has always been bugging me. On the feature side, is there any support for breakpoints…
      memophysic on HN
  • Add a var keyword for mutable variables

    From 1 comment
    • Congrats! I think this could be quite useful for me. I noticed that `let`-declared variables seem to be mutable. I'd strongly recommend against that. Add a `var` keyword.
      tayistay on HN

Questions

  • How is error handling and exceptions done

    From 1 comment
    • Nice language! I am wondering how error handling / exceptions works in bolt? Quickly scanned the programming guide - but wasn't able to find it. Did i miss a section?
      je42 on HN
  • Does it support polymorphism, generics or traits

    From 1 comment
    • I might be missing this, but I'm not seeing anything about how the type system handles (or doesn't) polymorphism - generics, traits, that sort of thing. Is that in there?
      wk_end on HN
  • Is execution deterministic like Lua

    From 1 comment
    • Awesome. Is it deterministic like Lua?
      k__ on HN

Alternatives named

  • Lua and LuaJIT

    From 2 comments
    • Run some examples, and it looks like this "High-performance, real-time optimized, super-fast" language is ``` ~ 10 times slower than luajit ~ 3 times slower than lua 5.4 ```
      megapoliss on HN
    • I love the concept -- I've often wished that lean languages like Lua had more support for static typing, especially given the potential performance benefits. I also love the…
      haberman on HN
  • Luau

    From 2 comments
    • You may be interested in Luau, which is the gradually-typed dialect of Lua maintained by Roblox. The game Alan Wake 2 also used it for level scripting.
      debugnik on HN
    • I took away from benchmarks how fast Luau is...
      truekonrads on HN
  • Pawn

    From 1 comment
    • Nice, gives me Pawn vibes (https://www.compuphase.com/pawn/pawn.htm)
      kiririn on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/44856935)