-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
runtime: implement some runtime stuff in pure Jule #114
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ackage and fix deadcode optimization for exported defines
…tLeft and shiftRight runtime functions
mertcandav
added
runtime
Related with std/runtime or compiled behavior
compiler
Related with comptime or compilation problems
api
About API (C++ API, not std/runtime API implementation)
labels
Sep 21, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Important
The description of this PR is only for the main purpose that the PR is intended to do. It may contain some significant changes, additions and updates to achieve the main goal.
Alright. This PR may mean a milestone for Jule.
This PR basically: Moves part of the API to the standard library.
To explain in detail, implements some of the important things in pure Jule that Jule has at runtime and adds it to the standard library. Currently, the API was implemented in C++. In this PR some API functionality is implemented with Jule. Of course, this does not mean that the API has become narrower, in fact it now offers more functionalities.
There are some important reasons why the things required for the runtime should be implemented with Jule in this PR. Some of these are:
std::unicode::utf8
package must be implemented separately in the API.std::unordered_map
, and this is clearly far from a standard implementation and it is a critical dependency to C++.This PR solves some important problems listed above and brings additional benefits:
In addition, since the runtime package will be imported by default for each Jule program, an increase in compilation times can be expected, but should not be a dramatic increase.