neat

The Neat Language compiler. Early beta? (by Neat-Lang)

Neat Alternatives

Similar projects and alternatives to neat

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better neat alternative or higher similarity.

neat reviews and mentions

Posts with mentions or reviews of neat. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-25.
  • The Neat Programming Language
    3 projects | news.ycombinator.com | 25 Dec 2023
    It runs on plain C ABI, so you can just define C functions as `extern(C)`, just as you would in D. But you can also use `std.macro.cimport` to import C headers directly. Check out the Dragon demo, https://github.com/Neat-Lang/neat/blob/master/demos/dragon.n... :

        macro import std.macro.cimport;
  • Running the "Reflections on Trusting Trust" Compiler
    7 projects | news.ycombinator.com | 25 Oct 2023
    Funny sidestory: The way my compiler ( https://github.com/neat-lang/neat ) used to build is, two years ago there was an initial compiler that was written in D. And every time you checked it out on a new system, there was a file with a list of breaking commits, and it would:

    - git clone itself in a subfolder

  • Show HN: C3 – a C alternative that looks like C
    1 project | news.ycombinator.com | 20 Jul 2021
    Sure, but keep in mind it's pre-pre-alpha and the current released version is kind of outdated (ping me if you actually want to try it):

    https://github.com/neat-lang/neat

    This is more a D-like than a C-like, but it only breaks C syntax in areas where IMO C straight up made the wrong call, like the inside-out type syntax.

    The thing I'm most proud of is the full-powered macro system, which is really more of a compile-time compiler plugin system.

    A good example of a macro would be listcomprehensions: https://github.com/Neat-Lang/neat/blob/master/src/neat/macro...

    You can tell it's just compiler code that happens to be loaded at project compiletime.

    `compiler.$expr xxx` is itself a macro, that parses an expression `xxx` and returns an expression that creates a syntax tree that, when compiled, is equivalent to having written `xxx`. It's effectively the opposite of `eval`. In that expression, `$identifier` is expanded to a variable reference to "identifier".

    So `ASTSymbol test = compiler.$expr $where && $test;` is equivalent to `ASTSymbol test = new ASTBinary("&&", where, test)`. (This shows its worth as expressions become more expansive.)

    All in all, this lets you write `bool b = [all a == 5 for a in array]`, and it's exactly equivalent to a plain for loop. You can see the exact for loop at line 103 in that file. `({ })` is stolen from gcc; google "statement expression".

  • A note from our sponsor - InfluxDB
    www.influxdata.com | 25 Apr 2024
    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. Learn more →

Stats

Basic neat repo stats
3
110
9.5
3 days ago

Neat-Lang/neat is an open source project licensed under BSD 3-clause "New" or "Revised" License which is an OSI approved license.

The primary programming language of neat is D.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com