Hacker News new | ask | show | jobs
by metadat 702 days ago
Also see this related submission from May, 2024:

Amber: Programming language compiled to Bash https://news.ycombinator.com/item?id=40431835 (318 comments)

---

Pnut doesn't seem to differentiate between `int' and `int*' function parameters. That's weird, and doesn't come across as trustworthy at all! Shouldn't the use of pointers be disallowed instead?

  int test1(int a, int len) {
    return a;
  }
  
  int test2(int* a, int len) {
    return a;
  }
Both compile to the exact same thing:

  : $((len = a = 0))
  _test1() { let a $2; let len $3
    : $(($1 = a))
    endlet $1 len a
  }
  
  : $((len = a = 0))
  _test2() { let a $2; let len $3
    : $(($1 = a))
    endlet $1 len a
  }
The "runtime library" portion at the bottom of every script is nigh unreadable.

Even still, it's a cool concept.