Coder Social home page Coder Social logo

Comments (2)

gcotelli avatar gcotelli commented on June 24, 2024

I suppose this is not implemented yet because it will make every package in Pharo change on every commit when these changes got merged.
So I will propose to do the following:

  • Add some metadata to .properties file to indicate the tonel format version, and defaulting to the current behavior in case a version is not specified. Eg:
    {
    #format : 'tonel',
    #formatVersion: '2.0'
    }
    
  • Use this information to decide which version of the tonel writer to use
  • Change the first-time creation of the properties file to use the newest format version available, so new projects will start with the most updated one.

This way projects wanting to use the new format features can adopt them without disrupting projects on prior versions.
And paves a way for the future evolution of the format.

I think in the case of Tonel we need to apply the Robustenss principle, and produce an output that is as deterministic as possible (via the TonelWriter) but be more lenient on the input (via the TonelReader).

If we must produce a new format version I will say we need to consider #99 also.

@tesonep @estebanlm @dalehenrich @eMaringolo @guillep what do you think?

from tonel.

dalehenrich avatar dalehenrich commented on June 24, 2024

Most of the tonel readers will read any format and covert to the "correct" format internally (I think that is part of the tonel spec as well), but all tonel writers should write in the agreed upon format moving forward ... The longer that we wait to start writing the correct format, the bigger the problem will become ... So bite the bullet and fix the problem now and provide patches for all of the active versions of Pharo that are using tonel, so that the issues will be mitigated in short order ...

I just noticed that Pharo (randomly?) writes mixed Strings and Symbols as values ...this was written 8 days ago and this was written 19 days ago ... hint look at the category field

from tonel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.