-
-
Notifications
You must be signed in to change notification settings - Fork 254
Port to Rust #704
Copy link
Copy link
Open
Labels
future directionEnhancement to the API or table format that is important for the long-term strategy (but not urgent)Enhancement to the API or table format that is important for the long-term strategy (but not urgent)refactoringCode changes that do not result in visible changes in the behavior of LiblouisCode changes that do not result in visible changes in the behavior of Liblouis
Metadata
Metadata
Assignees
Labels
future directionEnhancement to the API or table format that is important for the long-term strategy (but not urgent)Enhancement to the API or table format that is important for the long-term strategy (but not urgent)refactoringCode changes that do not result in visible changes in the behavior of LiblouisCode changes that do not result in visible changes in the behavior of Liblouis
Type
Fields
Give feedbackNo fields configured for issues without a type.
Implementing liblouis in C has many benefits:
on the other hand it has a number of downsides:
This is why the idea of a port of liblouis to a modern language has been around for some time. But in order to keep the good parts we need to be able to provide a C ABI.
That is where Rust comes in:
Now rewriting a piece of software such as liblouis seems like a daunting task. That is where the idea of a gradual port comes into play. Rewrite it piece by piece.
Some people have apparently done this successfully for other legacy C code bases: