Hi nicolas.

No it's not strange.
2 different parsers respond to 2 different syntax and expectations.

To me it's quite clear:

- The SmalltalkNumberParser was there to parse a Smalltalk syntax
  (badly named SqNumberParser in the ages...)
  It should do this thru Number readSmalltalkSyntaxFrom: '1.0e4'

- The ExtendedNumberParser was there to parse an extended syntax
  (the one most apps handling data from oustide world will wish to parse).
  It should do this thru Number readFrom: '1.0e+4'
I have a question: is ExtendedNumberParser parsing SmalltalkNumberParser numbers?
Because we could use by default ExtendedNumberParser.
Else we can have an external package to maintain ExtendedNumberParser part of the ecosystem.

- The FortranNumberParser was just an unused experiment.
Its sole goal was to expose an example of how a GenericNumberParser could be subclassed. Such class has a better place in a cook-book than in the image, so Bye bye.
We could add it to the PharoExtras.



Date readFrom: '2015/02/06' readStream does not have to follow a Smalltalk syntax, so why Number readFrom: '1.0e+4' readStream would have to?

As Yuriy underlined, we might extend the Smalltalk syntax to embrasse some of external world patterns, why not, but it's limited and is going to be a problem with formats like '.2' or '2.e0'.

Whether the extended parser should be in the core image or not is a valid question. We all agree that Pharo is all but finished and need to be constantly cleaned up. The challenge is how can Pharo change but remain application-writer-friendly?
So two different things are:
- the value of the feature: is it worth maintaining it or not?
If yes, should it be maintained outside the core, or inside by the Pharo-team? I agree that removing incomplete features is a valid strategy when the team is too small
- the quality of implementation

And there are two ways of cleaning:
- clean a dirty implementation, but keep the feature (eventually with a different API)
- remove the feature, based on a value/cost analysis

Here, I feel like it's the dictatorship which sounds questionnable.
Were the feature understood?
There were unit tests and class comments, so pretending to not understand is not really an excuse.

Were the value of the features discussed?
Maybe in a small core team... From outside, we don't really know.

No discussion should happen in the mailing-list but the problem is that the mailing-list is like a stream. I forget things. This is why we should have a better process but if I could get less things to do it would also
help me a lot (and I do not mean pharo things :)).

Were an externalisation of the feature and transfer of maintenance to a 3rd party discussed?
I'm not aware of. I'm sure it would have been a better decision.

So from my POV, such decision process remains to improve. It sounds too light and arbitrary. In some cases, I have the impression that the volunty of cleaning is too much dogmatic.

I agree. This happens when we are too mcuh stress. When I feel that I want to throw away half of the system (menu, fonts... and many others :))
I just close pharo and do something else

I agree that too much pragmatism won't lead to a clean image any time soon... I agree that Pharo team has a licence to change things and should decide, otherwise let's all stick to Squeak ;)
But a bit of democratie, argumentation and COORDINATION does not hurt.

Yes.

Then how can user support be improved?
- Is it possible to write release notes helping the transition?
(were is located the add-on package that enables compatibility, who maintains it, is there a new and better API, etc...) - Could some automated AST-based refactorings be prepared and applied auto-magically? It's not necessarily the sole business of Pharo-team, user community could help writing such notes.
So what would be a reasonable plan.
I have no problem to maintain a nice package in PharoExtras if it helps.

Stef




Reply via email to