Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-410

4.0 Language - Complete Implementation of Language based on the EGrammar

    Details

    • Type: Epic
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 4.0.0
    • Component/s: Compiler
    • Labels:
      None
    • Epic Name:
      Puppet 4 Language
    • Template:

      Description

      The new puppet language implementation that was started with the egrammar needs to be completed to a point where users can use it and we have taken steps toward a faster, cleaner, more maintainable system.

      In order to make the most of the new egrammar, we also need to create a new evaluator for the language. This will provide the opportunity to get:

      • Better error messages
      • Cleaner structure

      The evaluator needs to implement the current semantics as much as feasible, although some changes may be made as we learn what some of the semantics truly are.

      Done criteria for the new language implementation:

      • > 90% of existing modules MUST maintain the same behavior without change
      • Portable between MRI 1.8.7, 1.9.3, 2.0.0 and JRuby (latest)
      • At least 50% faster in the JRuby implementation that the current evaluator on MRI 1.9.3
      • At least the same performance as the the current evaluator on MRI 1.9.3
      • Use less than 50% of the memory as the current evaluator (we need to be using less heap in order to scale better on single machine)

        Attachments

          Issue Links

            Activity

              jsd-sla-details-panel

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  andy Andrew Parker
                  QA Contact:
                  Kurt Wall
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: