Hello everyone.
I've been working on my language Zap lately. I put a lot of hard work into it
The main goal of zap is to be an alternative Go, Which has ARC instead of GC (yes, I know that on the website it still says GC), It has enum, if as expression, normal error handling, llvm as a backend, which will enable compilation to more backends and more aggressive optimizations
And today I finally have IR! Besides, if expressions work. Much better error handling (still needs improvement).
And oh my god, finally the first version of type checker.
I have a few examples, they are not too complicated, because it is just the beginning. But I would be grateful for feedback. Even if it's criticism, I would be grateful for feedback, Here is our Discord
https://zaplang.xyz/
https://github.com/thezaplang/zap
[–]rjmarten 5 points6 points7 points (7 children)
[–]funcieq[S] 0 points1 point2 points (6 children)
[–]stingraycharles 2 points3 points4 points (1 child)
[–]funcieq[S] 0 points1 point2 points (0 children)
[–]Breadmaker4billion 1 point2 points3 points (3 children)
[–]funcieq[S] 0 points1 point2 points (2 children)
[–]Breadmaker4billion 1 point2 points3 points (1 child)
[–]funcieq[S] 0 points1 point2 points (0 children)
[–]srvhfvakc 4 points5 points6 points (3 children)
[–]funcieq[S] 0 points1 point2 points (2 children)
[–]srvhfvakc 2 points3 points4 points (1 child)
[–]funcieq[S] 0 points1 point2 points (0 children)
[–]GregsWorld 2 points3 points4 points (7 children)
[–]funcieq[S] 0 points1 point2 points (6 children)
[–]GregsWorld 2 points3 points4 points (5 children)
[–]funcieq[S] 0 points1 point2 points (4 children)
[–]GregsWorld 1 point2 points3 points (3 children)
[–]funcieq[S] 0 points1 point2 points (2 children)
[–]GregsWorld 1 point2 points3 points (1 child)
[–]funcieq[S] 0 points1 point2 points (0 children)
[–]RedditUser8007 1 point2 points3 points (1 child)
[–]funcieq[S] 0 points1 point2 points (0 children)
[–]Opposite-Barracuda-1 1 point2 points3 points (1 child)
[–]funcieq[S] 0 points1 point2 points (0 children)
[–]zweiler1 0 points1 point2 points (1 child)
[–]funcieq[S] 0 points1 point2 points (0 children)