Nasal GC Musings: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 15: Line 15:
* libgc: This is a GC that is designed to be used as a library, and can be integrated into C and C++ programs. It is available under the BSD 3-Clause License.
* libgc: This is a GC that is designed to be used as a library, and can be integrated into C and C++ programs. It is available under the BSD 3-Clause License.


Additionally, porting the interpreter to C++ would allow the use of standard C++ STL types, such as std::string, std::vector and std::map, to implement strings and vectors/hashes in Nasal. This would make it easier to work with these data structures, and could potentially lead to better performance and improved code readability.
Overall, porting the interpreter from C to C++ would enable the use of modern C++ features and libraries, which could potentially improve the performance, efficiency, and flexibility of the scripting language. And it could help bring Nasal up to par with other parts of the FlightGear code base.
== Background ==
== Background ==
FlightGear is an open-source flight simulator that includes built-in scripting support using the Nasal programming language. Nasal is a dynamic language that uses automatic memory management, which means that it manages the allocation and deallocation of memory automatically. Over the last two decades, Nasal has become an essential part of FlightGear, and its use has grown significantly, with many subsystems and features depending on Nasal scripts to function properly.
FlightGear is an open-source flight simulator that includes built-in scripting support using the Nasal programming language. Nasal is a dynamic language that uses automatic memory management, which means that it manages the allocation and deallocation of memory automatically. Over the last two decades, Nasal has become an essential part of FlightGear, and its use has grown significantly, with many subsystems and features depending on Nasal scripts to function properly.

Navigation menu