Roadmap Archive
Milestone "Arbitrary Precision Arithmetic" 2: Add initial big integer implementation
Percentage done: 100%, Due date: Week 4 December 2024
A big integer type Arcadia.BigInteger
provides arbitratry precision arithmetic for integers.
The following operations are supported:
- Add two
Arcadia.BigInteger
objects. - Subtract two
Arcadia.BigInteger
objects. - Negate a
Arcadia.BigInteger
object.
Automated tests for the above functionality are provided.
Milestone "Arbitrary Precision Arithmetic" 1: Add initial big integer implementation
Percentage done: 100%, Due date: Week 4 December 2024
A big integer type Arcadia.BigInteger
provides arbitratry precision arithmetic for integers.
The following operations are supported:
- Create a
Arcadia.BigInteger
object fromArcadia.Integer(8|16|32|64)
andArcadia.Natural(8|16|32|64)
. - Compare two
Arcadia.BigInteger
objects by magnitude. - Compare two
Arcadia.BigInteger
objects by value.
Automated tests for the above functionality are provided.
Milestone "Machine Interface Language" 1: 1st iteration of a parser for the L1 language
Percentage done: 100%, Due date: Week 3 October 2024
A 1st iteration of the parser for the L1 language, a language for interfacing with the R runtime currently in the making. That 1st iteration provides the following features:
- boolean literals, number literals (integer literal/ real literal), string literals, and void literals
- arithmetic operations (add, subtract, multiply, divide)
- arithmetic operations / logical operations (not)
- logical operations (and, or)
- list operations (concatenate)
Milestone "Banner Generator" 2: Tooling for generating banners
Percentage done: 100%, Due date: Week 4 December 2024
Port the banner generator to Linux.
Milestone "Banner Generator" 1: Tooling for generating icons (Windows only)
Percentage done: 100%, Due date: Week 4 September 2024
Certain operating systems (in particular Windows) require banners for application installers. We require a tool to generate those.
The banner generator generates a "PNG" file. As parameters, it takes the width and the height of the banner and the path of the "PNG" file. The generated "PNG" file is an opaque black banner.
Milestone "Icon Generator" 2: Tooling for generating icons
Percentage done: 100%, Due date: Week 4 December 2024
Port the icon generator to Linux.
Milestone "Icon Generator" 1: Tooling for generating icons (Windows only)
Percentage done: 100%, Due date: Week 3 September 2024
Certain operating systems (in particular Windows) require Icons for application windows and application installers. We require a tool to generate those.
The icon generator generates an "ICO" file. As parameter, it takes the path of the "ICO" file. The generated "ICO" file contains opaque black black icons of the sizes 8x8, 16x16, 24x24, 32x32, 48x48, 64x64, 96x96, 128x128, and 256x256.
Milestone "Template Engine" 1: Template Engine: Ampersand- and Include-directives
Percentage done: 100%, Due date: Week 2 September 2024
The Template Engine is a tool which takes the filename of a (source) file and the filename of a (target) file. It will parse the source file to create the target file. parsing means that the contents of the source file are written to the target file unlesss directives are encountered. The directives are not written to the target file. Instead, they are interpreted. There are two kinds of directives:
@@
directive results in@
in being written to the target file.@include(<filename>)
directive *parses* the file specified by<filename>
.
Recursive include directives yield an error. The parser must support UTF-8-NO-BOM encoding.
Milestone "Website" 6: Navigational elements
Percentage done: 100%, Due date: Week 1 November 2024
Each content page has navigational elements which enable the user to navigate the content of that page.
Milestone "Website" 5: Navigational elements
Percentage done: 100%, Due date: Week 1 November 2024
Each page of this website has navigational elements to enable the user to navigate to the landing page. These elements are located on every content page and error page but not on the landing page.
Milestone "Website" 4: Separate website sources and product
Percentage done: 100%, Due date: Week 1 October 2024
The website shall be generated in a dedicated `.build` folder of the repository. This results in a size reduction of uploads to webhosts.
Milestone "Website" 3: Maintain roadmap on website
Percentage done: 100%, Due date: Week 1 October 2024
The roadmap is maintained on the website.
Milestone "Website" 2: Tooling for building the website | Tools.TemplateEngine
Percentage done: 100%, Due date: Week 2 September 2024
The source code of the website consists of multiple .t
files.
The tool Tools.TemplateEngine reads .t
files and creates the output .html
files.
The tool works as follows: It receives the filename of one .t
file and the filename of the target .html
file.
It will parse the .t
file to create the target .html
file.
parsing means that the contents of the .t
file are written to the target file unlesss directives are encountered.
The directives are not written to the target file. Instead, they are interpreted. There are two kinds of directives:
@@
directive results in@
in being written to the target file.@include(<filename>)
directive *parses* the file specified by<filename>
.
Recursive include directives yield an error. The parser must support UTF-8-NO-BOM encoding.
Milestone "Website" 1: Improve tooling to build the website | Tools.Concatenate
Percentage done: 100%, Due date: Week 1 September 2024
The source code of the website consists of multiple .t
files.
The tool Tools.Concatenate reads the .t
files and creates the output .html
files.
The tool works as follows: It receives the filename of a one or more .t
files and the filename of the target .html
file.
It will then concatenate the Bytes of the .t
files (in the order they were specified) and write the Bytes to the .html
file.