ada-lox
programming-with-ada
ada-lox | programming-with-ada | |
---|---|---|
4 | 8 | |
- | 18 | |
- | - | |
- | 6.7 | |
- | over 1 year ago | |
Python | ||
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ada-lox
-
Feedback on implementation needed: a type for dynamically typed values
value.ads
-
May 2022 What Are You Working On?
More progress on a Lox interpreter (Crafting Interpreters book) in Ada. Evaluation is now in place, which was a really cool milestone to pass. Variable declaration and assignment are also coming along nicely. https://gitlab.com/henrikenggaard/ada-lox
-
Crafting Interpreters
I have been reading it and implementing the interpreter in Ada to learn about both interpreters and Ada better. It is a wonderful way to learn, since I constantly have to go beyond the surface level. What is the purpose of this and that in the interpreter? How do I model/implement this well in Ada.
If you are curious about language, I can only recommend trying to learn a new one while following this book.
https://gitlab.com/henrikenggaard/ada-lox
-
March 2022 What Are You Working On?
The code and work log is here: https://gitlab.com/henrikenggaard/ada-lox
programming-with-ada
- yet another Ada web site?
-
Is it worth it to learn Ada in 2022? And how do I learn it?
I wrote up a bunch of stuff about it
-
May 2022 What Are You Working On?
I am writing an article for Programming with Ada showing how to send an IMCP using just the Ada standard library and writing your own bindings to C. This is a port of program I wrote in C++.
-
Request for comments: an idea for a central repository of knowledge and resources for Ada
I have one already for my own Ada notes, but it doesn't autogenerate. Sphinx allows arbitrarily complex tables, while also providing the ability to generate the documentation and keep it locally, which would be important for people on isolated/proprietary/military networks. It would be interesting to have a site generated by a crate in Alire, so you could download and run it locally as needed.
-
How to get into the Ada world
There's also: - http://learn.adacore.com - https://pyjarrett.github.io/programming-with-ada/ - https://en.wikibooks.org/wiki/Ada_Programming - The video's not available yet, but this might be useful: https://fosdem.org/2022/schedule/event/ada_outsiders_guide/
-
What Did You Work On in 2021?
I also did a few things: - Wrote an online e-book about Ada - Septum - context-based source code search for multi-million line codebases (I use this nearly every day at work. It's being submitted as my Ada crate of the year. - dir_iterators - library similar to the incredible walkdir. - project_indicators - library for spinners and progress bars. - trendy_terminal - library for cross-platform terminal setup, VT100 support, and GNU readline-like behavior. - trendy_test - library for simple unit testing, which runs tests in parallel. - Ada Ray Tracer - an Ada port of Ray Tracing in One Weekend. - dirs_to_graphviz - Make graphviz files from directory trees. - rst_tables - a tool to draw RST table outlines.
-
Why Is C Faster Than Java (2009)
> say, Ada programmers.
I stand summoned.
> Unfortunately, none of them ever seem to show up.
We do from time to time, but people assume our language is dead (it isn't). I learned it last year and I've been very impressed by how simple it is, given the speed you get with it.
It was a "big language" at the time, but now it's a language smaller than Rust or C++ which offers good performance with straightforward syntax.
Ada has inline assembly, easy usage of compiler intrinsics, dead-simple binding to C, built-in multi-tasking (which includes CPU pinning), a good standard library, RAII, and real honest-to-goodness built-in, not-null-terminated strings. It's a compiled language, so you get good speed in general, but the built-in concurrency really does help work which can be split up. Ada 202x is getting even finer grained parallelism (parallel for-loops) in the language itself to even further help this.
- https://learn.adacore.com/
- https://github.com/pyjarrett/programming-with-ada
- https://en.wikibooks.org/wiki/Ada_Programming
What are some alternatives?
Ada_GUI - An Ada-oriented GUI
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
distributing-gcc - Binary releases of GCC (native and cross) on macOS; also, the scripts/Makefiles used for producing them.
python-cheatsheet - Comprehensive Python Cheatsheet
Pi-Mainframe - Simulated mainframe computer based on a Raspberry Pi
Ada-Lisp - Tiny Lisp Interpreter Written in Ada
sdlada - Ada 2022 bindings to SDL 2 - Don't STAR this, this is my personal repo which I may delete over using the AGF one.
pouetpouet-board - DIY ortholinear keyboard with pure Rust or Ada firmware
ada_language_server - Server implementing the Microsoft Language Protocol for Ada and SPARK
drivers - An assortment of drivers
Honki-Tonks-Zivilisationen - Der Code meines 4X-Rundenstrategiespiels. The Code of my 4X turn-based strategy game.