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.
" Shortly before beginning the GNU Project, I heard about the Free University Compiler Kit, also known as VUCK. (The Dutch word for “free” is written with a v.) This was a compiler designed to handle multiple languages, including C and Pascal, and to support multiple target machines. I wrote to its author asking if GNU could use it.
He responded derisively, stating that the university was free but the compiler was not. I therefore decided that my first program for the GNU Project would be a multilanguage, multiplatform compiler."
And not only was the university 'free' and the compiler not, neither was 'Minix', which was put out there through Prentice Hall in a series of books that you had to pay a fairly ridiculous amount of money for if you were a student there.
So the VU had the two main components of the free software world in their hand and botched them both because of simple greed.
I love it how RMS has both these quotes in the same text:
"Please don't fall into the practice of calling the whole system “Linux,” since that means attributing our work to someone else. Please give us equal mention."
"This makes it difficult to write free drivers so that Linux and XFree86 can support new hardware."
And there are only a few lines between those quotes.
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.
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.
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.
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.
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
The relevant bit:
" Shortly before beginning the GNU Project, I heard about the Free University Compiler Kit, also known as VUCK. (The Dutch word for “free” is written with a v.) This was a compiler designed to handle multiple languages, including C and Pascal, and to support multiple target machines. I wrote to its author asking if GNU could use it.
He responded derisively, stating that the university was free but the compiler was not. I therefore decided that my first program for the GNU Project would be a multilanguage, multiplatform compiler."
And not only was the university 'free' and the compiler not, neither was 'Minix', which was put out there through Prentice Hall in a series of books that you had to pay a fairly ridiculous amount of money for if you were a student there.
So the VU had the two main components of the free software world in their hand and botched them both because of simple greed.
I love it how RMS has both these quotes in the same text:
"Please don't fall into the practice of calling the whole system “Linux,” since that means attributing our work to someone else. Please give us equal mention."
"This makes it difficult to write free drivers so that Linux and XFree86 can support new hardware."
And there are only a few lines between those quotes.
this does not suprise me at all if other stories i heard are true.
Go on...
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.
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.
looks like they never went 64 bit
hah, kinda funny to see this here. Graduated from the VU so we where tought about the ack and minix in our first CS classes. What a throwback.
I’m still making my way through the MINIX book. Love it.
Are you working through the 1st or 2nd edition of the book ? I think these are the ones that used ACK.
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.
I’m working through the third edition which I believe is also ACK based as far as I can tell. MINIX version 3.1.0?
Looks cool, last post in 2022 though? Is it feature complete?
This has been posted before
2025: https://news.ycombinator.com/item?id=42833638
2020: https://news.ycombinator.com/item?id=22310987 and https://news.ycombinator.com/item?id=22612420
Why the name amsterdam?
Renamed from Free University Compiler Kit
> © 1987-2005 Vrije Universiteit, Amsterdam
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.
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.
> 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.
ACK used to be self-hosting. Of course, standard Unix utilities like sh and make are required. I still use one of those versions.