-
-
Notifications
You must be signed in to change notification settings - Fork 36
✨ 2.0 #770
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
Open
johangirod
wants to merge
65
commits into
master
Choose a base branch
from
2.0
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
✨ 2.0 #770
Conversation
This file contains hidden or 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
feat: add position to yaml scalar
* Output logs without interupting compilation * Add warning for orphan rules
* feat: prepare adding type info to eval ast * feat: add type_database * feat: first version of type inference * wip * feat: type check return error with position
* feat: add cycle check * wipp * Add parameter computation
Refactors the evaluation system by replacing direct `evaluate` function with a properly typed Engine class that supports context parameters. Renames `evaluate` to `evaluateNode` and updates all relevant tests and interfaces.
Convert compilation pipeline to produce TypeScript output, restructuring the evaluation tree and type checking system for better modularity. Changed position handling to use named parameters for clarity.
* Add support for sum mechanism in Publicodes compiler Refactor parsing components to better handle expressions and add sum support: - Rename expressions directory to expr - Extract mechanism parsing logic into separate file - Extend AST to support Sum nodes - Improve error handling in lexer and parser - Fix pass numbering in main compiler flow * Add product and logical operations to compiler Implement new mechanisms: - produit - toutes ces conditions - une de ces conditions Update parser, resolver, type checker and code generator to handle these new operations. * Enforce single mechanism at the same indentation level in parser * Add duplicate YAML key detection and handling
Add support for mechanisms in Publicodes compiler --- Refactor parsing components to better handle expressions and add sum support: - Rename expressions directory to expr - Extract mechanism parsing logic into separate file - Extend AST to support Sum nodes - Improve error handling in lexer and parser - Fix pass numbering in main compiler flow * Add product and logical operations to compiler Implement new mechanisms: - produit - toutes ces conditions - une de ces conditions Update parser, resolver, type checker and code generator to handle these new operations. * Enforce single mechanism at the same indentation level in parser * Add duplicate YAML key detection and handling * Refactor AST to support more mechanisms Rename constructors for consistency (BinaryOp→Binary_op, AnyOf→One_of) Add new value types: Applicable_if, Not_applicable_if, Ceiling, Floor Replace parse_mechanism with parse_value for better structure Improve position handling in AST with naked_value type Rename from_list to all_keep_logs for clarity * Refactor AST to separate value and chainable mechanisms Add a new structure where values have a list of chainable mechanisms that are applied in order, rather than having them nested. This makes the AST more consistent and the code more maintainable. * Uncomment parser code and add chainable mechanisms tests Update test assertions to work with new value structure containing chainable mechanisms. Change p function to require length parameter. * Remove parser utility functions * Fix type checking for conditional expressions Ensure condition is Bool type and result type matches branch type. Make pattern matching more explicit for Undefined and Null cases.
🦋 Changeset detectedLatest commit: aa1c903 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
✅ Deploy Preview for publicodes-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
@publicodes/cli
@publicodes/codemod
publicodes
@publicodes/forms
@publicodes/react-ui
@publicodes/rest-api
@publicodes/runtime
@publicodes/tools
commit: |
5b4a336 to
5431781
Compare
e193ab0 to
3e07ce0
Compare
* feat: Add standard meta in generated output - Rename parameters to outputs in compiler fix #773 * feat: only allow authorized key in rule * feat: add a new codemod for v2 migration
31aef23 to
d6e12cb
Compare
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.
Soon...
👉 Voir l'avancement : Publicodes 2