GNUstep - this would be nice to have

Probably the most intriguing sub-project out of Étoilé is CoreObject ( http://coreobject.org/ ).

CoreObject is a version-controlled object database for Objective-C that supports powerful undo, semantic merging, and real-time collaborative editing. The page has links to four demonstration videos on YouTube covering branching, tagging, undo, and collaboration.

In essence, all objects are serialized and the container-document is modeled as a database. This is more pervasive than a database like file system.

I sense that the concept of Replicants may somehow potentially be used to implement a more powerful framework than that provided by CoreObject. If so, this could be a “killer” feature unique to BeOS/Haiku.

2 Likes

As far as I remember since first encountering it, Étoilé has always aimed to be a desktop environment leveraging the concepts provided by Objective-C/Smalltalk rather than being a comprehensive operating system.

Much of the code underlying the current GNUStep run-time originated from contributors to Étoilé.

There is already what seems to be a decent port of Swift to Haiku ( https://www.haiku-os.org/blog/return0e/2017-08-28_gsoc_2017_porting_swift_to_haiku_-_final_report/ ).

Given this, and the existence of several Objective-C to Swift conversion utilities (listed below), it may be more appropriate to polish the Swift port rather than initiating a GNUStep/Objective-C port.

Objective-C to Swift conversion:
Conversion cheat sheet ( https://www.hackingwithswift.com/articles/114/objective-c-to-swift-conversion-cheat-sheet )
Swiftify ( https://objectivec2swift.com/#/home) (Non-free/Non-open-source )
iSwift ( https://iswift.org/ ) - On-line, free, and commercial
Swiftify (https://swiftify.com/ ) - On-line, free and commercial

1 Like

There is a port of the Swift language, but not much runtime library to go with it.

Getting Objective-C to the same level is quite easy and would be useful, for example to port the Unarchiver (https://theunarchiver.com/) core and use that for Expander, instead of our current duct-taped around executables approach. So Expander could finally get, for example, a progress bar!

Getting the GNUStep runtime up and running is useful both for Swift and Objective C, if we want to port more complex apps from MacOS or iOS. The desktop environment that goes with it is probably not that useful, as Haiku already has its own tools there and we don’t plan to switch languages or framework libraries on it.

1 Like