‹ Reports
The Dispatch

OSS Report: sophiajt/june


June Project Faces Stagnation as Development Halts and Issues Persist

June, an experimental systems programming language designed for safety and usability, has seen its development stagnate with no recent commits or pull requests, reflecting challenges in reaching a stable release.

The project aimed to enhance teachability and productivity in systems programming by outputting C code for compilation. Despite initial momentum, the project is now archived, indicating a cessation of active development.

Recent Activity

Recent issues highlight ongoing challenges with function definitions and type handling. Critical issues like #68 (Curried functions don't compile) and #67 (Dereferencing a none value crashes) suggest significant gaps in functionality. Feature requests such as #69 (Anonymous functions) indicate user interest in enhancements.

Development Team and Recent Activity

Sophia June Turner (sophiajt)

Jane Losare-Lusby (yaahc)

Ikko Eltociear Ashimine (eltociear)

The last commit over 100 days ago suggests a halt in active development, with the project now archived.

Of Note

  1. Stagnation: No recent commits or PRs indicate development has ceased.
  2. Critical Issues: Compilation errors and crashes (#68, #67) remain unresolved.
  3. Feature Requests: Community interest persists with requests like anonymous functions (#69).
  4. Documentation Focus: Significant effort was placed on maintaining clear documentation.
  5. Archived Status: The project is no longer maintained, signaling its experimental phase did not reach maturity.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 0 0 0 0 0
30 Days 0 0 0 0 0
90 Days 0 0 0 0 0
All Time 42 12 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The project has 30 open issues, with the most recent activity reflecting ongoing challenges related to function definitions, type handling, and error reporting. Notably, several issues highlight critical compilation errors and unexpected behaviors in the language's handling of functions and data types, which could hinder user adoption and further development.

A recurring theme among the issues is the struggle with function definitions and type safety. Issues like #68 (Curried functions don't compile) and #67 (Dereferencing a none value silently crashes the program) indicate significant gaps in functionality that could lead to frustrating user experiences. Additionally, there are multiple feature requests (#69, #46) that suggest users are looking for enhancements to improve usability.

Issue Details

  1. Issue #69: Feature request: Anonymous functions

    • Priority: Normal
    • Status: Open
    • Created: 132 days ago
    • Updated: Not updated
    • Description: Proposes allowing anonymous functions for better elegance in code.
  2. Issue #68: Curried functions don't compile

    • Priority: High
    • Status: Open
    • Created: 132 days ago
    • Updated: Not updated
    • Description: Highlights a compilation issue with curried functions, indicating a significant flaw in function handling.
  3. Issue #67: Dereferencing a none value silently crashes the program

    • Priority: High
    • Status: Open
    • Created: 133 days ago
    • Updated: Not updated
    • Description: Reports a critical issue where dereferencing an optional value leads to silent crashes instead of compile-time errors.
  4. Issue #66: Create consistent error reporter for cli and compiler errors

    • Priority: Normal
    • Status: Open
    • Created: 137 days ago
    • Updated: Not updated
    • Description: Suggests improvements to error reporting for better user experience.
  5. Issue #61: Check equality of method signatures in inheritance

    • Priority: Normal
    • Status: Open
    • Created: 146 days ago
    • Updated: Not updated
    • Description: Discusses the need for more rigorous checks on method signatures during inheritance.
  6. Issue #60: can we make the resolve_type a part of this pretty_type function?

    • Priority: Normal
    • Status: Open
    • Created: 147 days ago
    • Updated: Not updated
  7. Issue #54: 0b111 support (binary literals)

    • Priority: Normal
    • Status: Open
    • Created: 172 days ago
    • Updated: Edited 170 days ago
  8. Issue #48: Mutability compatibility issue on call-site vs args

    • Priority: Normal
    • Status: Open
    • Created: 192 days ago
    • Updated: Not updated
  9. Issue #46: Feature Request: print that doesn't add a newline

    • Priority: Normal
    • Status: Open
    • Created: 192 days ago
    • Updated: Not updated
  10. Issue #45: Raw buffer initialization of bool has guaranteed UB because of va_args usage in generated code

    • Priority: High
    • Status: Open
    • Created: 192 days ago
    • Updated: Not updated

These issues collectively indicate that while there is community interest and engagement, significant technical hurdles remain that could impede further development or adoption of the June programming language.

Report On: Fetch pull requests



Overview

The analysis of the pull requests (PRs) for the June project reveals a mix of feature additions, bug fixes, documentation updates, and CI/CD improvements. The project's experimental nature is reflected in the diverse range of changes proposed by contributors, indicating active development and community engagement during its operational phase.

Summary of Pull Requests

Open Pull Requests

  • PR #76: Aims to fix bugs related to print functionality. It's significant as it addresses a core feature of the language, enhancing its usability. The PR is still open, suggesting ongoing work or review.
  • PR #36: Focuses on adding tests for modules within modules. This is crucial for ensuring the reliability of new features related to module handling. It's also open, indicating active development.

Closed Pull Requests

  • PR #77: A minor documentation update that was closed without merging. It suggests an attempt to improve documentation clarity.
  • PR #75: Similar to PR #76 but was closed without merging. This indicates possible redundancy or changes in approach.
  • PR #73: A simple typo fix in documentation that was merged quickly, showing attention to detail in project documentation.
  • PR #72: Introduced CI/CD configuration, which is essential for automating testing and deployment processes. It was merged, indicating successful integration into the project's workflow.
  • PR #65 & PR #64: Both PRs added CLI commands, enhancing the developer experience by simplifying project setup and execution. They were merged, reflecting positive contributions to tooling.
  • PR #63 & PR #59: These PRs introduced significant language features like subtype coercion and generic methods. Their quick merge suggests they were well-received and thoroughly reviewed.
  • PR #58 & PR #57: Focused on language features like inheritance and method refactoring. Their merge indicates ongoing evolution of the language's capabilities.
  • PR #56 & PR #53: Addressed bug fixes and added new operators, showing active maintenance and feature expansion.
  • PR #52 & PR #51: These PRs included type support and diagnostic improvements, reflecting efforts to enhance language robustness and developer experience.
  • PR #50 & PR #49: Focused on integration test improvements and reducing boilerplate code in tests, indicating a push towards better testing practices.
  • PR #47: An attempt to add a Game of Life example that was not merged due to concerns about memory management. This highlights challenges in example code quality or completeness.
  • PR #38 & PR #37: Introduced generic function support and build commands, expanding language features and developer tooling.
  • PR #33 & PR #32: Added support for multi-file projects and C character literals, indicating ongoing work on language features and interoperability with C.
  • PR #31 & PR #20: These PRs focused on improving error reporting in tests and type inference, reflecting efforts to enhance developer experience through better tooling.
  • PR #17 & PR #16: Both were related to CI improvements but were closed without merging. This could indicate changes in CI strategy or implementation challenges.
  • PR #15 & PR #13: Added support for enum methods and static methods, expanding the language's capabilities.
  • PR #12 & PR #5: Focused on method resolution refactor and warnings for potential issues, indicating ongoing maintenance efforts.

Analysis of Pull Requests

The pull request history for the June project reflects a vibrant period of development characterized by significant contributions from both the core team and external contributors. The presence of open pull requests like PR #76 and PR #36 suggests that there are still areas under active development or review, which is typical for projects in an experimental phase.

Closed pull requests reveal a pattern of rapid iteration where features are quickly proposed, reviewed, and either merged or closed based on their relevance or quality. For instance, PRs related to core language features such as generic methods (#59), subtype coercion (#63), and CLI enhancements (#64) were merged swiftly, indicating a focus on expanding the language's capabilities.

Documentation updates (#77) and minor fixes (#73) also show a commitment to maintaining high-quality documentation alongside feature development. The introduction of CI/CD processes through PRs like (#72) highlights an important step towards automating testing and deployment, which is crucial for any growing software project.

However, there are instances where pull requests were closed without merging (#75, #17), which could indicate shifts in project direction or priorities. The non-merging of an example code addition (#47) due to concerns over memory management underscores the project's emphasis on quality and reliability even at the cost of delaying certain features or examples.

Overall, the analysis suggests that while June was making significant strides in developing a new programming language with unique features aimed at safety and usability, it faced typical challenges associated with experimental projects such as maintaining code quality, managing community contributions effectively, and evolving its toolchain (like CI/CD). The archived status of the project as of June 2024 indicates that these efforts may not have reached a stable or widely adopted state before maintenance ceased.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members

  • Sophia June Turner (sophiajt)

  • Jane Losare-Lusby (yaahc)

  • Ikko Eltociear Ashimine (eltociear)

Recent Activities

Sophia June Turner (sophiajt)

  • Most Recent Commit: 106 days ago, updated the README.md.
  • Notable Activities:
    • Contributed to various documentation updates, including philosophy.md, language.md, and multiple README.md revisions.
    • Implemented features related to generic methods, inheritance, and dynamic dispatch.
    • Worked on fixing clippy warnings and CI issues.
    • Engaged in several pull requests focusing on language features like bitwise operators and size_t C type.
    • Ongoing work on generic functions and type inference.

Jane Losare-Lusby (yaahc)

  • Most Recent Commit: 145 days ago, fixed subtype coercion with named arguments.
  • Notable Activities:
    • Contributed to the implementation of inheritance and dynamic dispatch features.
    • Collaborated with Sophia on various updates, including integration tests and documentation improvements.
    • Engaged in multiple pull requests related to testing and feature enhancements.

Ikko Eltociear Ashimine (eltociear)

  • Most Recent Commit: 119 days ago, updated philosophy.md.
  • Notable Activities:
    • Minor contributions focused on documentation improvements.

Patterns and Themes

  • Documentation Focus: A significant portion of recent activities involved updating documentation, indicating a priority on clarity and usability for future users or contributors.
  • Feature Development: Both Sophia and Jane were actively involved in developing new language features, particularly around generics, inheritance, and dynamic dispatch.
  • Collaboration: There is a clear pattern of collaboration between Sophia and Jane, particularly in pull requests that involve significant changes or new features.
  • Stagnation: The last commit from any team member was over 100 days ago, suggesting a halt in active development. The project has since been archived, indicating that no further progress will be made.

Conclusion

The development team was engaged in substantial activities related to feature development and documentation prior to the project's archival status. The collaboration between team members was evident, but the lack of recent commits suggests a cessation of active work on the project.