Amsterdam Compiler Kit(github.com/davidgiven)

75 points by andsoitis 6 hours ago | 15 comments

  • ptx 3 hours ago
    Is this the same compiler that famously spurred Richard Stallman to create GCC [1] when its author "responded derisively, stating that the university was free but the compiler was not"?

    It seems to be free now anyway, since 2005 according to the git history, under a 3-clause BSD license.

    [1] https://www.gnu.org/gnu/thegnuproject.en.html

  • unusual-name 4 hours ago
    It's interesting that they have a Raspberry Pi GPU backend, but neither an ARM backend nor any modern ISA. (such as x86-64, Aarch64, etc.) Is there any example program that actually runs on the rpi gpu? I skimped the website, but it is only mentioned in the release notes.
  • pjmlp 3 hours ago
    One of the first widely used compiler toolkits with multiple frontends, intermediate language for the phases and a common backend.

    Contrary to common understanding LLVM wasn't the very first one, ACK also not, there are others predating it when diving into compiler literature.

  • barfiure 3 hours ago
    I’m still making my way through the MINIX book. Love it.
    [-]
    • AlexeyBrin 31 minutes ago
      Are you working through the 1st or 2nd edition of the book ? I think these are the ones that used ACK.
      [-]
      • rwmj 6 minutes ago
        I remember after I read the 1st edition, bought MINIX ($150 !!), and then was very annoyed to find that the compiler source was not included. Luckily it was '89 or '90 and GCC sources were available.
  • ramon156 4 hours ago
    Looks cool, last post in 2022 though? Is it feature complete?
    [-]
  • bartkappenburg 4 hours ago
    Why the name amsterdam?
    [-]
    • akritid 4 hours ago
      Renamed from Free University Compiler Kit
    • mbreese 4 hours ago
      > © 1987-2005 Vrije Universiteit, Amsterdam
  • einpoklum 4 hours ago
    tl;dr: A kit for targeting several old or old-ish platforms, with code in some languages popular in the 1980s: C89 (ANSI C), Pascal, Modula 2, Basic. A 'kit' here means: frontend, codegen, support libraries and some tools. This is apparently known as being the default toolchain for Minix 1 and 2.

    But - the repository is not "everything you need"; it actually relies on a lot from an existing platform - GCC, Lua, Make, Python etc. So, you would typically use this to cross-compile it seems.

    [-]
    • tgv 3 hours ago
      It doesn't rely on gcc. Any C compiler will do. The rest is there to build it on " Linux, OSX, and Windows using MSYS2 and mingw32". Indeed for cross-compilation, as it won't run on CP/M.
    • consp 4 hours ago
      > apparently known as being the default toolchain for Minix 1 and 2.

      That is not very surprising since Tannenbaum is a professor there and cowrote wrote the ACK and wrote Minix.

    • phicoh 3 hours ago
      ACK used to be self-hosting. Of course, standard Unix utilities like sh and make are required. I still use one of those versions.