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

Array types #15

Open
11 tasks
polsys opened this issue Dec 17, 2018 · 0 comments
Open
11 tasks

Array types #15

polsys opened this issue Dec 17, 2018 · 0 comments
Labels
area-CodeGen Final code generation. area-LanguageDesign Language design. area-Parser Lexing and syntactic analysis. area-SemanticAnalysis Semantic analysis and intermediate code generation. type-Feature A self-contained, possibly larger, new behavior.
Milestone

Comments

@polsys
Copy link
Owner

polsys commented Dec 17, 2018

Arrays would be a reference type with runtime sizing.

  • Parse array expressions
  • Extend the type system with array types
  • Compile array expressions
  • Allocate/deallocate memory for arrays (special methods emitted into each compilation)
  • Negative sizes cause termination
  • Reference semantics in parameter passing
  • Range checking
  • Negative size in new causes termination
  • Consider: compile-time constant arrays?
  • Update the language specification
  • Ability to get a raw pointer for interop (to skip reference count updating) - maybe with Length property on arrays #70?

Probably can leave multidimensional arrays out for now.

@polsys polsys added type-Feature A self-contained, possibly larger, new behavior. area-Parser Lexing and syntactic analysis. area-SemanticAnalysis Semantic analysis and intermediate code generation. area-CodeGen Final code generation. area-LanguageDesign Language design. labels Dec 17, 2018
@polsys polsys mentioned this issue Dec 17, 2018
9 tasks
@polsys polsys added this to the 0.2 milestone Apr 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen Final code generation. area-LanguageDesign Language design. area-Parser Lexing and syntactic analysis. area-SemanticAnalysis Semantic analysis and intermediate code generation. type-Feature A self-contained, possibly larger, new behavior.
Projects
None yet
Development

No branches or pull requests

1 participant