Andreas, On Mon, May 19, 2025 at 5:08 PM Andreas Fink <[email protected]> wrote:
> > And I believe supporting swift would then would make things even worse as >> its even further away. We have to modernize GNUStep to keep up with the >> current tools. That doesn't mean we need to implement everything Apple has >> added in the last 20 years, but at least a fundamental subset so 95% of >> Apps could be ported without any major issues. And in my eyes ARC must >> absolutely be supported in the default installations. Expecting a newcomer >> to first recompile GNUStep (which has quite a few pitfalls if you do it for >> the first time) can easily discurage new developers. > > > ARC is already supported in GNUstep when using clang. I am confused > > > It is supported when using clang AND libobjc2 > Yes. This means when gnustep-base is compiled with the old runtime, you can not > write code which uses ARC as the runtime doesnt support it. > libobjc2 supports ARC, it's written by David Chisnall. Hence take the newest debian release (or next release) do an apt-get > install gnustep-gui etc and you have a working gnustep system but you can > not write any modern code on it. You can only look at prebuilt binaries but > not do anything yourself (if you require ARC). Thats the giant showstopper > in my eyes to get new developers on board. > I'm still confused. What are you talking about? You asked a question and then went down this discussion. A few things: 1) clang+libobjc2 support ARC 2) I have gotten modern applications built and running on GNUstep using it a) Eggplant b) Algoriddim c) OpenOutliner (in process) > It doesn't mean GNUStep code itself must use ARC but the default runtime >> must become libobjc2 so ARC is supported for all the projects who need it >> (which is 95% of todays modern projects I believe). If not, GNUStep will >> end up in the Legacy corner forever. Thats in my eyes also a key issue to >> keep GNUStep attractive for old and new developers. And because gcc's lack >> of support for the Objc language, this means moving everthing to clang as a >> consequence. >> >> Documentation: >> >> Personally, I'm willing to do some efforts to (re-)write documentation >> once its clear where this is heading. >> The Apple automatic documentation production using DocC ( >> https://www.swift.org/documentation/docc/) sounded very neat for that in >> my eyes but I have no clue if this could be easily be applied into GNUStep. >> But that approach would bind the code to the documentation and would >> tremendously help to keep the documentation up to date. >> > > We would need to get DocC, which is written in Swift, working on Linux and > GNUstep in the first place. > > > Oh didn't know DocC is written in Swift. > But in any case, producing the documentation for the webpage with DocC > could initially be done on a mac until thats ready. > Or some other similar tool could be used. > That's something to consider. Yours, GC -- Gregory Casamento GNUstep Lead Developer / Black Lotus, Principal Consultant http://www.gnustep.org - http://heronsperch.blogspot.com https://www.patreon.com/bePatron?u=352392 - Become a Patron https://www.openhub.net/languages/objective_c https://www.gofundme.com/f/cacao-linux-a-gnustep-reference-implementation
