Skip to content
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

[Config]: Add track tags #12

Merged
merged 1 commit into from
Sep 26, 2023
Merged

Conversation

BNAndras
Copy link
Member

@pfertyk,./bin/configlet lint warns about the tags array being empty in the track's config. Here are a handful of tags to get the ball started. More information is at https://exercism.org/docs/building/tracks/config-json#h-tag so let me know if you want to switch out any tags. Merging this in will make configlet move on to complaining about hello-world not being present so merging in #3 when it's ready should take care of that.

@BNAndras BNAndras changed the title Add tags to track config [Config]: Add track tags Sep 21, 2023
@@ -27,5 +27,14 @@
},
"concepts": [],
"key_features": [],
"tags": []
"tags": [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for filling this list! 👍 I have some doubts about 2 items though:

  • according to the official documentation, GDScript is "gradually typed", not "dynamically typed"; I am not sure if it makes any difference for us (I mean, if "gradual" is not an allowed value for Configlet, I guess we might as well use "dynamic")
  • I don't think that GDScript is "interpreted", even though it looks a lot like Python ... I believe the code is compiled before executing it, and there is also no such thing as a REPL in Godot; perhaps we can ask someone who spent more time maintaining the code about the true nature of GDScript ;)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No gradual typing tag. Here are all the options available under typing.

Typing

  • `typing/static`: the language uses static typing
    
  • `typing/dynamic`: the language uses dynamic typing
    
  • `typing/strong`: the language uses strong typing
    
  • `typing/weak`: the language uses weak typing
    

For what it's worth, https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_advanced.html indicates GDScript is dynamically typed and that no compilation is needed for testing. The compilation seems to occur when you export the code out of Godot, but given the Exercism building docs say "a track should choose their tags based on the general usage of their language", I think it's appropriate to consider GDScript an interpreted language since that's how it presents within Godot.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, thanks for digging into this! :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean, if "gradual" is not an allowed value for Configlet, I guess we might as well use "dynamic"

There are basically two ways to look at this (gradual typing):

  • Use both the static and dynamic tags
  • We introduce a new gradual tag

@ee7 Thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ee7 I've changed the typing to gradual in the "Hello, World!" PR (#3 ) for now. If we decide not to add this new typing to allowed Configlet values, let me know, I will add both static and dynamic (as suggested by @ErikSchierboom ).

@pfertyk pfertyk merged commit 4df81bf into exercism:main Sep 26, 2023
@BNAndras BNAndras deleted the update-tags-array branch September 26, 2023 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants