Recent

Author Topic: NewPascal plans, Generics.Collections and FPC trunk  (Read 45974 times)

hnb

  • Sr. Member
  • ****
  • Posts: 270
NewPascal plans, Generics.Collections and FPC trunk
« on: May 02, 2018, 08:05:40 pm »
Hello,

I was kicked away today from FPC core team (by Michael Van Canneyt).

Insulting and destructive approach by Michael Van Canneyt (with silent acceptance from other persons in core team) is unacceptable (the good example can be found in topic "[fpc-devel] What's the status of Maciej's Smart Pointer enhancements?" from 29 April 2018). IMO this is not the way how good open source project should work.

I leave it to everyone for individual evaluation, here is short summary:

http://lists.freepascal.org/pipermail/fpc-devel/2018-May/038886.html

I will continue my all work as much as possible with NewPascal (which will be synced with FPC trunk few times in the year - or more often if needed), I mean here all stuff, including updates for Generics.Collections library, bug fixes for compiler and generics, smart pointers/ARC/nullable types, oxygene mode, closures and extended RTTI.

I've suspended the NewPascal foundation (it was not officially registered yet) and the idea of the NewPascal for the good of whole community (finally one project is better than divided community). I was trying to put all my energy into official FPC but it seems impossible. Every person has a dignity, and the unacceptable line of insulting in many fields was crossed many times.

Note about Generics.Collections:

the library is important for many programmers, so everyone who is using Generics.Collections should use :

https://github.com/maciej-izak/generics.collections

the FPC trunk version will be not updated anymore so if someone is using this library should definitely not use official FPC trunk version. Any bug report about Generics.Collections should be filled in my github repo (in current situation usage of official bug tracker in this matter has no sense).

The next place with actual Generics.Collections will be http://NewPascal.org distribution (which will be updated soon) - the distro was not intensively update because I was too much naive in my faith for FPC progress. NewPascal was intended as part of official FPC which in current situation is impossible.
« Last Edit: May 03, 2018, 10:41:03 am by hnb »
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

balazsszekely

  • Guest
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #1 on: May 02, 2018, 08:23:26 pm »
Sorry to hear that. It's a shame that you could not overcome your differences.

Pascal

  • Hero Member
  • *****
  • Posts: 932
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #2 on: May 02, 2018, 09:53:00 pm »
Sorry to hear!!!

http://lists.freepascal.org/pipermail/fpc-devel/2018-May/038886.html
I think you overreacted. But maybe this was just the straw that breaks the camel's back.

Anyway, i appreciate your work very much. Especially Generics.Collections! Many thanks!
laz trunk x64 - fpc trunk i386 (cross x64) - Windows 10 Pro x64 (21H2)

PatBayford

  • Full Member
  • ***
  • Posts: 125
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #3 on: May 03, 2018, 01:49:42 am »
Sad news, especially that the Generics.Collection will no longer be maintained within FPC trunk.
Lazarus 1.8.0 FPC 3.0.2 SVN 56594 Windows 10 64bit (i386-win32-win32/win64)

Akira1364

  • Hero Member
  • *****
  • Posts: 561
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #4 on: May 04, 2018, 09:36:14 pm »
This is extremely unfortunate! I personally like to stay up to date on the latest trunk (as big improvements can be made one day to the next), and I was hoping that the additions you've made in terms of things like anonymous methods and smart pointers would finally be merged soon. It all seems to work properly, so I've never understood what the reason for not doing so was.

These are highly useful features that I'm sure a lot of other people have been eagerly waiting on for a long time as well. I'm quite certain there's far more programmers who want them than those who don't. I even know several people who have considered starting to use FPC, but ended up not doing so simply because it lacked those capabilities.

Will your repository at least be connected in some way to perhaps Graeme G's mirror of the official trunk, so that people who want to attempt to keep it in sync can do local merges themselves? For me at least, updating my sources only a few times a year wouldn't be anywhere close to enough.
« Last Edit: May 05, 2018, 01:31:53 am by Akira1364 »

Thaddy

  • Hero Member
  • *****
  • Posts: 14204
  • Probably until I exterminate Putin.
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #5 on: May 04, 2018, 10:24:46 pm »
Oh, well, Maciej, you have a temper bigger than my pseudo-temper. ( <grumpy  >:D >:D >:D> )

I am sure this will calm down with time.

I can understand Michael: boils down to being precise and complete with new language features. Already in the design stage.
Not features for the sake of features.

I respect both of you and both of you know that. Will be OK. Don't be silly....No point to it.... O:-)
The one is over-protective the other one is like a little child that wants to push too hard.

Oh, well... :P

My impression is there is not a personal dislike, just a strongly phrased matter of opinionated minds.
Which is actually a good thing....

Maybe something to discuss for you all in the beach house in Castricum aan Zee. (Sleeps 8, power fuse will blow with 8 laptops  :o ). I will bring barbecue and perform small service but will sleep at home in Krommenie. (Yes it is actually ON the beach. And we combined two beach houses into one)
Take it or leave it. This is a serious offer and many of you have my phone number or email. (The core team including Maciej)
« Last Edit: May 04, 2018, 10:52:09 pm by Thaddy »
Specialize a type, not a var.

Thaddy

  • Hero Member
  • *****
  • Posts: 14204
  • Probably until I exterminate Putin.
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #6 on: May 04, 2018, 10:55:33 pm »
And I can evacuate any casualties to Krommenie... sleeps many.... If needed. Not luxury %) but does the job....
« Last Edit: May 04, 2018, 11:01:18 pm by Thaddy »
Specialize a type, not a var.

hnb

  • Sr. Member
  • ****
  • Posts: 270
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #7 on: May 05, 2018, 02:13:38 am »
Will your repository at least be connected in some way to perhaps Graeme G's mirror of the official trunk, so that people who want to attempt to keep it in sync can do local merges themselves?

I think that I have good informations for you,

1. NewPascal has a special branch "freepascal" synchronized (every 15 minutes) - it is just FPC trunk mirror, see :

https://github.com/newpascal/freepascal/tree/freepascal

2. this is base for any further work. For example when I have ready some feature on my local fork/branch (in account "maciej-izak", which was forked from newpascal repository), for example:

https://github.com/maciej-izak/freepascal/tree/closures

3. the ready to use feature is merged into "master" branch of https://github.com/newpascal/freepascal

so when someone needs latest FPC trunk + my latest features the way to go is very simple:

pull from master branch -> pull from freepascal branch -> merge freepascal branch into master.

This is all (in the case of any conflict  between master and freepascal branches, additional action from my side is needed, but the conflicts are rather rare).

I need to back to NewPascal work, the project NewPascal was not up to date because I was thinking that my work in FPC core was more important...
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

hnb

  • Sr. Member
  • ****
  • Posts: 270
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #8 on: May 05, 2018, 02:37:22 am »
I respect both of you and both of you know that. Will be OK. Don't be silly....No point to it.... O:-)
The one is over-protective the other one is like a little child that wants to push too hard.

Oh, well... :P

My impression is there is not a personal dislike, just a strongly phrased matter of opinionated minds.
Which is actually a good thing

being at peace, far away from insults and unfair appreciations, especially on public, is a due, this is all what I want. From Michael Van Canneyt I have got many insults and unfair appreciations.

What Michael Van Canneyt said about current situation:

Quote
I and I alone take full responsibility. I have only warned Florian Klaempfl in advance that this could happen, none of the other members have anything to do with this.

My banishment is caused by personal revenge of Michael Van Canneyt. I have no influence on this. The only what I need (I will repeat it again) is : being at peace, far away from insults and unfair appreciations.

I will continue my work in other way, I will not drop my dreams about modern and NewPascal.
« Last Edit: May 05, 2018, 03:04:00 am by hnb »
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

bee

  • Sr. Member
  • ****
  • Posts: 393
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #9 on: May 05, 2018, 03:06:10 am »
I like your approach. This way we could get best of both Free Pascal and New Pascal.

So, while we're talking about a new and modern Pascal, can you provide named parameter feature? I think it's good and fit with Pascal's philosophy.

Here's my proposal for named parameter:
Code: Pascal  [Select][+][-]
  1. // PASCAL NAMED PARAMETER PROPOSAL
  2. // AS {$MODESWITCH NAMEDPARAMETER}
  3.  
  4. // function declaration with some default values
  5. function f(i: integer = 0; s: string = ''; d: double): boolean;
  6. begin
  7.   result := true;
  8. end;
  9.  
  10. // Old-fashion function calling,
  11. // all params must be in order but
  12. // allowed to skip default params.
  13. f(0.1);         // filling only d param
  14. f('abc',0.1);   // filling s and d params
  15. f(3,'abc',0.1); // filling all params
  16.  
  17. // New style mixed function calling,
  18. // still respects the params order,
  19. // if NOT all params name is given.
  20. f(s := 'def', 0.2);
  21. f(4, s := 'def', 0.2);
  22.  
  23. // New style named param calling,
  24. // params don't need to be in order,
  25. // if ALL params name is given.
  26. f(d := 0.3, i := 5);      // s = default
  27. f(s := 'ghi', d := 0.3);  // i = default
  28. f(i := 5, d := 0.3, s := 'ghi');
  29.  
  30. // Fills param using other variable,
  31. // compiler knows which is what.
  32. s := 'text';
  33. d := 0.4;
  34. f(s := s, d);
  35. f(d := d, s := s);
  36.  
  37. // It should also work with `procedure` as well.

What do you think?

If NewPascal provides this feature, I will instantly move to NewPascal in a heart beat. :)
« Last Edit: May 05, 2018, 03:41:04 am by bee »
-Bee-

A long time pascal lover.

Mr.Madguy

  • Hero Member
  • *****
  • Posts: 844
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #10 on: May 05, 2018, 07:27:00 am »
Dunno, if this is good news or bad. What I REALLY need - is full Delphi 2009 compatibility. I can't port my projects to Lazarus without it. I need full generics, Unicode and closures support. D2009 was released almost 10 years ago and Lazarus still isn't compatible with it. If Lazarus will be D2009 compatible some day - I will be able to completely switch from Delphi to Lazarus. And I really want to do it, as Delphi is extremely overpriced in a first place. And it's extremely limiting - I have to constantly find workarounds to fix bunches of out of memory, internal compiler errors and some other bugs. This workarounds overcomplicate my code, make it heavier and slower. But I have to deal with it now.
Is it healthy for project not to have regular stable releases?
Just for fun: Code::Blocks, GCC 13 and DOS - is it possible?

PascalDragon

  • Hero Member
  • *****
  • Posts: 5446
  • Compiler Developer
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #11 on: May 05, 2018, 02:45:10 pm »
Sad news, especially that the Generics.Collection will no longer be maintained within FPC trunk.
I'll probably keep a look on Maciej's changes there and reintegrate them with trunk (as long as he doesn't change the license to something incompatible that is  :P )

Akira1364

  • Hero Member
  • *****
  • Posts: 561
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #12 on: May 05, 2018, 03:50:08 pm »
This is all (in the case of any conflict  between master and freepascal branches, additional action from my side is needed, but the conflicts are rather rare).

Just so you know, none of your branches (or at least not record-default-field and closures, which are the two I'm most interested in) are currently mergeable with trunk. They all do have multiple conflicts.
« Last Edit: May 05, 2018, 11:44:21 pm by Akira1364 »

hnb

  • Sr. Member
  • ****
  • Posts: 270
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #13 on: May 06, 2018, 02:46:39 am »
@bee every idea is welcome in NewPascal, I was not thinking about this feature yet, but looks promising and is worth to investigate! This may be a little delayed because I have a lot of work with reactivation of NewPascal. But when I finish I will back to this for sure.

@Akira1368 master branch is now updated, sorry for inconvenience but project was not updated for long time (I was really busy on my work for FPC core including compiler and RTL and additionally I was working on new official page for official FPC, where NewPascal was important part of new page...).

Current "master" branch of https://github.com/newpascal/freepascal already contains record-default-field and is synced in proper way with latest FPC trunk. You should be able to merge "freepascal" branch into "master" without problems and you can test default field for smart pointers ( https://github.com/maciej-izak/PascalSmartPointers ) . "closures" branch in my local repo is in-progress so no surprise here.

@PascalDragon ...
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

bee

  • Sr. Member
  • ****
  • Posts: 393
Re: NewPascal plans, Generics.Collections and FPC trunk
« Reply #14 on: May 06, 2018, 03:50:06 am »
@bee every idea is welcome in NewPascal, I was not thinking about this feature yet, but looks promising and is worth to investigate! This may be a little delayed because I have a lot of work with reactivation of NewPascal. But when I finish I will back to this for sure.

Thank you. I really appreciate your attention and I'll look forward to your promise.

About the new website, I think you better focus on your own New Pascal website. Make New Pascal as modern as it can be. Personally I don't like both the official FPC's and Lazarus' websites because they look so old. They're like made in the 2000's.

If you want to make New Pascal looks new and modern so it impresses programmers from other languages and new comers alike, please make New Pascal website looks cool and elegant. Use something like Bootstrap templates for the website, and use something like Discourse for the forum.

Let's make New Pascal be forward-compatible and let FPC handles the backward-compatible. Let's make Pascal modern and cool again! :)
« Last Edit: May 06, 2018, 03:52:12 am by bee »
-Bee-

A long time pascal lover.

 

TinyPortal © 2005-2018