36 comments

[ 2.5 ms ] story [ 73.8 ms ] thread
I think ANIL might not be a great name. Let me know if you need clarification ;)
They seem to have misspelled it.
Anil is a given first name, maybe just not in your culture.
'Anil' has several different meanings in Sanskrit and descendant Indo-Aryan languages, Turkish, and a handful of Dravidian languages. All are fairly noble; none warrant a winky face.
Taking the name of the language of the front makes it read like Python is the subject matter.
I'm pretty sure ANIL is taking the back
I'm re-watching the show Silicon Valley and this name would have been a perfect product name in one of their episodes.
The headline is confusing. It is meant to be read as

    (Python & C++)-inspired language [...]
Yeah at first I was like "well that's an unfortunate name choice."
Original title was

ANIL(A Nice Intermediate Language) Python & C++ inspired programming language that transpiles to C and can be embedded within C source files

Current title is confusing since it truncates the "ANIL(A Nice Intermediate Language)" part, but maybe that was done by HN and not by the person who submitted the article. A better title would be just that first part.

Exactly: I came here specifically to point out that Python is definitely NOT inspired by C++, nor does it transpile to C. Nor is it anything new, as implied by the lack of a year within parentheses. This headline is wrong.
[flagged]
Completely different meaning of embedded, this is about putting the generated C code in your program, not putting the interpreter in your program.
[flagged]
I thought you were nitpicking but looking at that sample code... "endc_function"... wow.
From what I can tell it probably doesn't have significant whitespace.
Why are dunder methods a "severe design mistake"?
I think they are really good design. The stick out like a sore thumb (reading > writing) so you immediately know "this does something a little special and isn't typically called directly". Contrast that with some languages that just use up perfectly good names in the namespace for operators. Unless you know they are special you are left wondering.
That's a quick jump from "in my opinion" to "you have no clue about".

I mean, the author is probably not a programming language design specialist, but I feel that's overly harsh - they hopefully learned a bit when working on this toy project.

Unhinged. Read the README - the project goals have absolutely nothing to do with what you're talking about. You "have" to actually understand that, not be unhinged for no reason...
Before everyone piles on, here is the repo owner's Note at the bottom of the page:

  This is my first ever compiler project.
  I created this compiler for the following reasons:
  
   * To learn about compiler development.
   * To build a self-compiling compiler.
   * To implement features I find interesting and cool.
Great work!

Next step is to make your Anil compiler in Anil.

Small complaint: I would rather you have the code examples as text on the github readme than as an image.

I think they did that in "Bootstrap/". It is kind of confusing because the files have a .c extension. Amazing amount of work though.