Hacker News new | past | comments | ask | show | jobs | submit login
The Irken Language (nightmare.com)
46 points by sanxiyn on March 1, 2011 | hide | past | favorite | 10 comments



Is this named after the alien race in Jhonen Vasquez's Invader Zim?


This was my first thought too. I was half expecting an essay on how they imagined the Irken language from Invader Zim. Then I realized that they all speak English.


Not a single reference to "invader" or "Zim" is found on the linked document :( What a tease, indeed.


I can't find the word "doom" anywhere on the page. Yet this would have to be a strange coincidence.


Seriously, where's my GIR?! And sorry but this doesn't look a thing like the real Irken language.

Yeah, naming fail. He's going to have a real hard time with people finding his language: http://en.wikipedia.org/wiki/Irken, http://www.google.com/search?q=Irken


After I read the intro, I thought to myself “okay, it’s statically-typed where Scheme is not. So why is that an advantage?” I don’t want to read about how to use a new language without knowing what advantages that language has over other languages, so I can know if it’s right for my needs. Therefore, I think the Features/Motivation section should be at the top, right under Syntax, not way at the bottom.


This looks like a very interesting language. I like the idea of exploring the statically typed Scheme space. I especially like the support for algebraic datatypes and the array notation. But a couple of things puzzle the hell out of me. Why Python (at all) and why not LLVM already. Using Python for the front end surely makes it much harder to set up an efficient API accessible from C. The use of C for the back end is perfectly defensible, but (and I'll have to read it more carefully to check) does this mean there is no (fast) interpreter and it is only a compiled language? If so, I'm disappointed, as the language itself looks absolutely great. With the LLVM Jit on the back end and a front end written in C, say, this would surely be a killer language.


>(define length

> () -> 0

> (_ . tl) -> (+ 1 (length tl)))

^ Syntax in my scheme (other than sexps)? Heresy.


what about '=>'

e.g.

   (define (test ls)
      (cond
        ((car ls) => (lambda (a) a))
        (else '())))
   >(test '(1 2 3))
   >1


This looks really cool. I've always thought that PreScheme was an interesting idea, it's been on my list of "maybe in the future" projects for a while now. This looks like a pretty nice update to it. I'd imagine that the combination of type inference and macros could lead to some really incomprehensible error messages, though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: