fur

By kerkeslager

Fur Alternatives

Similar projects and alternatives to fur

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

fur reviews and mentions

Posts with mentions or reviews of fur. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-20.
  • Pratt Parsers: Expression Parsing Made Easy
    6 projects | news.ycombinator.com | 20 Jan 2024
    I found this Rust tutorial[1] on Pratt parsers to be really easy to follow as well. I'm not a Rustacean but I didn't find not knowing Rust to be a barrier. I used that as a guide to write the parser for my experimental programming language Fur[2].

    However, I'll caution anyone writing their own programming languages to read some wisdom from someone who has written a production-quality programming language[3]. Most programming language developers get bogged down in writing the parser and never even get into solving the real hard problems of language development, which are things like bytecode generation and garbage collection. The fact is, a naive recursive descent parser with some low lookahead number to handle left recursion will be performant and can be written in an afternoon for 99% of parsable languages. I'm not sure what it is about parsers that makes them susceptible to yak shaving, but it seems to be a trap a lot of people fall into (including myself!).

    [1] https://matklad.github.io/2020/04/13/simple-but-powerful-pra...

    [2] https://github.com/kerkeslager/fur/blob/main/parser.c

    [3] https://craftinginterpreters.com/compiling-expressions.html#...

  • Strong typing, a hill I'm willing to die on
    9 projects | news.ycombinator.com | 4 Oct 2023
    One might say that the embracing of reflection in Java and C# pretty much solidifies the case against static typing for complicated projects.

    I'd tend to think the important feature here is strong typing, not static typing, and indeed TypeScript, which is hampered by the anemic type system of its parent JavaScript, it not the best example of strong typing.

    Ultimately, strong typing is a hill I'm willing to die on, too. But a lot of people making arguments on this topic are conflating it with static typing, which just isn't the same thing. In general, that gives me the impression you haven't done enough work in enough different languages to really have an informed opinion.

    Though uncommon, strong dynamic type systems do exist. This is the approach I'm taking with Fur[1]. Python is... stronger than many other popular languages (i.e. JavaScript), but still does a lot of coercion (particularly around truth-y/false-y values).

    But perhaps more critically, weak static type systems also exist, such as C, which is the source of many of the world's most serious bugs. It's highly unwise to assume that static typing is strong typing.

    [1] https://github.com/kerkeslager/fur

Stats

Basic fur repo stats
2
0
8.8
11 months ago

kerkeslager/fur is an open source project licensed under GNU General Public License v3.0 only which is an OSI approved license.

The primary programming language of fur is C.


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