6 ms·
Amsterdam Compiler Kit
- ramon156 9mo agoLooks cool, last post in 2022 though? Is it feature complete?
- HelloUsername 9mo agoThis has been posted before 2025: https://news.ycombinator.com/item?id=42833638 https://news.ycombinator.com/item?id=42833638 2020: https://news.ycombinator.com/item?id=22310987 https://news.ycombinator.com/item?id=22310987 and https://news.ycombinator.com/item?id=22612420 https://news.ycombinator.com/item?id=22612420
- gjvc 9mo ago[flagged]
- einpoklum 9mo agotl;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.
- consp 9mo 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.
- tgv 9mo agoIt 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.
- phicoh 9mo agoACK used to be self-hosting. Of course, standard Unix utilities like sh and make are required. I still use one of those versions.
- bartkappenburg 9mo agoWhy the name amsterdam?
- unusual-name 9mo agoIt'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.
- rsaxvc 9mo agolooks like they never went 64 bit
- hmry 9mo agoPresumably someone wanted to write an RPi bootloader, which run on the GPU. Several universities have OS programming courses that use old 32-bit RPis. Not sure if anything was actually written though.
- lproven 9mo ago> Not sure if anything was actually written though. The librerpi project « librerpi is a FOSS boot firmware based on littlekernel for Raspberry Pi boards, it replaces the proprietary boot firmware normally used to boot. » https://librerpi.github.io/ https://librerpi.github.io/
- lproven 9mo ago> Is there any example program that actually runs on the rpi gpu? ThreadX. https://en.wikipedia.org/wiki/ThreadX#Products_using_ThreadX https://en.wikipedia.org/wiki/ThreadX#Products_using_ThreadX This RTOS, later rebranded Microsoft Azure RTOS, later still made FOSS: https://www.theregister.com/2023/11/28/microsoft_opens_sources_threadx/ https://www.theregister.com/2023/11/28/microsoft_opens_sourc... ThreadX is the RasPi firmware. The GPU is the primary processor of the Pi: the ARM cores are essentially just co-processors.
- barfiure 9mo agoI’m still making my way through the MINIX book. Love it.
- AlexeyBrin 9mo agoAre you working through the 1st or 2nd edition of the book ? I think these are the ones that used ACK.
- rwmj 9mo agoI 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.
- barfiure 9mo agoI’m working through the third edition which I believe is also ACK based as far as I can tell. MINIX version 3.1.0?
- deleted 9mo ago[deleted]
- Rochus 9mo agoThe book version is a subset of Minix version 3.1.0 (see https://github.com/rochus-keller/Minix3/tree/3.1.0 https://github.com/rochus-keller/Minix3/tree/3.1.0). The sursprise comes when you try to compile the minimal book version and find out that it is not as lean as presented in the book but actually depends on hundereds of assembler files (see https://github.com/rochus-keller/Minix3/tree/Minix3_Book_TCC https://github.com/rochus-keller/Minix3/tree/Minix3_Book_TCC).
- barfiure 9mo agoI’m a tad confused so maybe I’m not understanding the horror show. Tanenbaum explicitly mentions multiple times that the book is a subset of the code because it would be too long to print with the library. So he covers mostly the main areas. But the source code, in its entirety, is mounted under /usr/src. And it has all the assembly files in ACK files, mostly in lib I believe. You can compile it with a make command and it works as expected. The author makes it seem like there’s some terrible thing. Am I missing some gory directory? Yes the ACK syntax would need to be ported over to something more modern like NASM or FASM if someone wants to move the whole kitchen sink, new linker scripts made as a result of exported symbols etc. It is painful but alas, so is the archaic K&R C. I don’t know if that’s necessary though? It sounds like a waste of time to begin with. I mean this book is ancient, and nobody really uses 32-bit protected mode. I’m mostly doing it out of curiosity even though I already stood up a small 64-bit long mode thinger. Let me know what I’m missing!
- pjmlp 9mo agoOne 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.
- ptx 9mo agoIs 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 https://www.gnu.org/gnu/thegnuproject.en.html
- deleted 9mo ago[deleted]
- samemrecebi 9mo agothis does not suprise me at all if other stories i heard are true.
- anonzzzies 9mo agoGo on...
- samemrecebi 9mo agonothing bad but just doenst suprise me with the reaction he gave to stalman
- jacquesm 9mo agoThe 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.
- samemrecebi 9mo agohah, 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.
- userbinator 9mo agoThe requirements for "flex and yacc" seem to indicate that this is from a time and culture before recursive descent/precedence climbing became the norm.
- janlucien 9mo ago[dead]
- qaqqqqaq 9mo ago[dead]