{"slug": "gnat", "name": "GNAT", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 7, "warners": 1, "score": 2.499, "rising": 0.35, "first": "2025-11-01", "latest": "2026-08-24", "why": "with the increasingly accessible FSF GNAT ecosystem, things changed dramatically.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 3, "compare": 0, "warn": 1}, "spark": [0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "with the increasingly accessible FSF GNAT ecosystem, things changed dramatically.", "kind": "", "icon": true, "domain": "gnu.org", "github_repo": null, "official_url": "https://gnu.org", "pricing": "", "aliases": ["GNAT", "gnat"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 790831602, "item_id": 49426975, "url": "https://news.ycombinator.com/item?id=49426975", "by": "ovenpasta", "date": "2026-08-24", "stance": "recommend", "quote": "with the increasingly accessible FSF GNAT ecosystem, things changed dramatically.", "excerpt": "Thanks! You can watch the talk at Ada Developers Workshop Vasteras 2026, where I explain some of your questions: https://www.youtube.com/watch?v=d-RISfK9Sy8 I should write more details in the repo's README file. Basically, I was quite frustrated with the available solutions vs. my requirements and ended up making my own, and this process took me many years. Ada is a language that I always admired, but at the time I d", "context": "", "use_case": "Ada compiler", "switched_from": "", "story": "Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3"}, {"id": 742258080, "item_id": 46391130, "url": "https://news.ycombinator.com/item?id=46391130", "by": "fweimer", "date": "2025-12-26", "stance": "recommend", "quote": "GNAT offers some interesting (non-standard) options", "excerpt": "At a certain point, it's a trade-off. A systems language will offer facilities that can be used to break encapsulation and abstractions, and access memory as a sequences of bytes. (Anything capable of file I/O on stock Linux can write to /proc/self/mem, for example.) The difference to (typical) C and C++ is that these facilities are less likely to be invoked by accident. Reasonable people will disagree about what mem", "context": "", "use_case": "Ada bounds checking", "switched_from": "", "story": "Memory Safety"}, {"id": 738809952, "item_id": 46175622, "url": "https://news.ycombinator.com/item?id=46175622", "by": "donallen", "date": "2025-12-06", "stance": "recommend", "quote": "Compilation times are very fast", "excerpt": "I've written a fair amount of code in Rust and D and a little less in Zig. In my opinion, Zig was not ready for prime time when I used it -- too many bugs -- and that may still be true. Rust is hard to learn and even after you do, it gets in the way a lot. D is very nice if you like C, but there are a lot of problems with the project and the tooling. I'm about to say something that will likely surprise you; it surpri", "context": "", "use_case": "Compiling Ada programs", "switched_from": "", "story": "Why we built Lightpanda in Zig"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 764928736, "item_id": 47808046, "url": "https://news.ycombinator.com/item?id=47808046", "by": "tremon", "date": "2026-04-17", "stance": "warn", "quote": "the gnat runtime always spawns a signal handler thread", "excerpt": "> while providing the minimum of abstraction people wanted Yes, I think this is key. I wasn't around in 1985, but on every attempt to write something in Ada I've found myself fighting its standard library more than using it. Ada's stdlib is an intersection of common features found in previous century's operating systems, and anything OS-specific or any developments from the last 30 years seem to be conspicuously abse", "context": "", "use_case": "", "switched_from": "", "story": "Ada, Its Design, and the Language That Built the Languages"}]}], "who": [], "tags": [], "use_cases": ["ada compiler", "ada bounds checking", "compiling ada programs"], "compared": [], "makers": [{"id": 773723712, "item_id": 48357732, "url": "https://news.ycombinator.com/item?id=48357732", "by": "glacambre", "date": "2026-06-01", "stance": "recommend", "quote": "Adacore is the maintainer of GNAT, GCC's Ada frontend", "excerpt": "Adacore | Software Engineers | Full-time | Remote or On-Site Adacore is the maintainer of GNAT, GCC's Ada frontend (but now with many more compiler backends: LLVM, Why3, JVM...) and of a lot of tools revolving around the Ada ecosystem (IDEs, Coverage tools, Fuzzers, Static Analyzers, Formal proof tooling...). Evertything we build is open-source and we make money by providing support, trainings, certifications... We a", "context": "static analysis engineer at AdaCore", "use_case": "Ada compiler", "switched_from": "", "story": "Ask HN: Who is hiring? (June 2026)"}], "threads": [{"url": "https://news.ycombinator.com/item?id=47803844", "title": "Ada, Its Design, and the Language That Built the Languages", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49422243", "title": "Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49353221", "title": "A 3D fruit fly on macOS desktop powered by the real FlyWire connectome", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48357725", "title": "Ask HN: Who is hiring? (June 2026)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46387164", "title": "Memory Safety", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46165249", "title": "Why we built Lightpanda in Zig", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {"recommend": 2}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {"warn": 1, "neutral": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {"neutral": 1, "recommend": 1}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 790831602, "item_id": 49426975, "url": "https://news.ycombinator.com/item?id=49426975", "by": "ovenpasta", "date": "2026-08-24", "stance": "recommend", "quote": "with the increasingly accessible FSF GNAT ecosystem, things changed dramatically.", "excerpt": "Thanks! You can watch the talk at Ada Developers Workshop Vasteras 2026, where I explain some of your questions: https://www.youtube.com/watch?v=d-RISfK9Sy8 I should write more details in the repo's README file. Basically, I was quite frustrated with the available solutions vs. my requirements and ended up making my own, and this process took me many years. Ada is a language that I always admired, but at the time I d", "context": "", "use_case": "Ada compiler", "switched_from": "", "story": "Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3"}, {"id": 789827040, "item_id": 49364190, "url": "https://news.ycombinator.com/item?id=49364190", "by": "eMPee584", "date": "2026-08-19", "stance": "neutral", "quote": "Someone did a port already", "excerpt": "Someone did a port already: https://github.com/lubabs770/gnat", "context": "", "use_case": "", "switched_from": "", "story": "A 3D fruit fly on macOS desktop powered by the real FlyWire connectome"}, {"id": 765080001, "item_id": 47817500, "url": "https://news.ycombinator.com/item?id=47817500", "by": "OneWingedShark", "date": "2026-04-18", "stance": "neutral", "quote": "For GNAT, these two pieces of documentation are instructive", "excerpt": "Ok, so the Form parameter is implementation defined; this was to allow the implementations the 'wriggle room' to interface with the host-system. For GNAT, these two pieces of documentation are instructive: https://docs.adacore.com/live/wave/gnat_rm/html/gnat_rm/gnat_rm/the_implementation_of_standard_i_o.html#form-strings https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gnat_rm/FORM-Strings.html#FORM-Strings (This second one ", "context": "", "use_case": "Ada compiler", "switched_from": "", "story": "Ada, Its Design, and the Language That Built the Languages"}, {"id": 764928736, "item_id": 47808046, "url": "https://news.ycombinator.com/item?id=47808046", "by": "tremon", "date": "2026-04-17", "stance": "warn", "quote": "the gnat runtime always spawns a signal handler thread", "excerpt": "> while providing the minimum of abstraction people wanted Yes, I think this is key. I wasn't around in 1985, but on every attempt to write something in Ada I've found myself fighting its standard library more than using it. Ada's stdlib is an intersection of common features found in previous century's operating systems, and anything OS-specific or any developments from the last 30 years seem to be conspicuously abse", "context": "", "use_case": "", "switched_from": "", "story": "Ada, Its Design, and the Language That Built the Languages"}, {"id": 742258080, "item_id": 46391130, "url": "https://news.ycombinator.com/item?id=46391130", "by": "fweimer", "date": "2025-12-26", "stance": "recommend", "quote": "GNAT offers some interesting (non-standard) options", "excerpt": "At a certain point, it's a trade-off. A systems language will offer facilities that can be used to break encapsulation and abstractions, and access memory as a sequences of bytes. (Anything capable of file I/O on stock Linux can write to /proc/self/mem, for example.) The difference to (typical) C and C++ is that these facilities are less likely to be invoked by accident. Reasonable people will disagree about what mem", "context": "", "use_case": "Ada bounds checking", "switched_from": "", "story": "Memory Safety"}, {"id": 738809952, "item_id": 46175622, "url": "https://news.ycombinator.com/item?id=46175622", "by": "donallen", "date": "2025-12-06", "stance": "recommend", "quote": "Compilation times are very fast", "excerpt": "I've written a fair amount of code in Rust and D and a little less in Zig. In my opinion, Zig was not ready for prime time when I used it -- too many bugs -- and that may still be true. Rust is hard to learn and even after you do, it gets in the way a lot. D is very nice if you like C, but there are a lot of problems with the project and the tooling. I'm about to say something that will likely surprise you; it surpri", "context": "", "use_case": "Compiling Ada programs", "switched_from": "", "story": "Why we built Lightpanda in Zig"}, {"id": 732555632, "item_id": 45784727, "url": "https://news.ycombinator.com/item?id=45784727", "by": "homarp", "date": "2025-11-01", "stance": "neutral", "quote": "you have GNAT", "excerpt": "you have GNAT https://www.getadanow.com/ which is part of GNU compilers some discussion https://news.ycombinator.com/item?id=27313294", "context": "", "use_case": "Ada compiler", "switched_from": "", "story": "Open-Source Ada: From Gateware to Application"}]}