You might be interested in Eero, modifications to the Clang Objective-C compiler that one guy has done to bend the Objective-C syntax into one more to his liking: http://eerolanguage.org
You and the community might be well served if you use & contribute to this (or fork it) and then work from scratch only on the interpretive shell part of your idea. I'd be interested in an immediate interactive environment for the Objective-C runtime (one that wasn't F-Script).
Also, let me plug this language whose development I was following for a while http://xlr.sourceforge.net Although I'm less of a fan now with how the author has evolved the syntax to be so pascal-y, some of the ideas there are brilliant. If nothing else, I believe this language compiles (translates?) down to C so the source code might be a good reference.
You might be interested in Eero, modifications to the Clang Objective-C compiler that one guy has done to bend the Objective-C syntax into one more to his liking: http://eerolanguage.org
You and the community might be well served if you use & contribute to this (or fork it) and then work from scratch only on the interpretive shell part of your idea. I'd be interested in an immediate interactive environment for the Objective-C runtime (one that wasn't F-Script).
Question:
What is the point of the import command in Python? I understand why most languages have it (for compilation), but it seems to me that as Python is interpreted, it has no need for import statements. When it comes to a variable that doesn't exist in the local, function, class, or global namespace, it should then attempt whatever it does when you type import.
It enables expansion beyond what is offered in the language itself with modules, and it allows code to be written in more than one file. That's the main uses I can think of right now.
But why not use the method I provided? IE, right now if I try using a module before the import statement for it, it'll fall on its face and throw errors about how it doesn't recognize the module, instead of attempting to implicitly import it.
I swore back in my dBase II days (showing my age) I was going to write a language with 2 statements:
set bugs off
DoWhatIThink
NSCharacterSet * characterSet = [NSCharacterSet characterSetWithCharactersInString:@".\r\n"];
CharacterSet named:characterSet usingString:".\n\r";
NSMutableCharacterSet *characterSet = [[NSCharacterSet whitespaceAndNewlineCharacterSet] mutableCopy];
auto characterSet = [NSCharacterSet withString:@".\r\n"];
NSCharacterSet * characterSet = [NSCharacterSet characterSetWithCharactersInString:@".\r\n"];
CharacterSet named:characterSet usingString:".\n\r";
T1 * c= [T1 I:@".\r\n"];
My biggest issue with Obj-C/Cocoa, I think, are lines of code like this:
Code:NSCharacterSet * characterSet = [NSCharacterSet characterSetWithCharactersInString:@".\r\n"];
This one line of code is totally useless by itself but is 93
This, however:
Code:CharacterSet named:characterSet usingString:".\n\r";
Might leave me wondering: What does "usingString" mean in terms of resource ownership? Is the string being copied? Is the string being retained with a weak or strong reference? If I pass in a huge string and subsequently release it, does "usingString" imply that it will not necessarily be freed as a resource?
Hmm.
But this is not about the language -- it is about the libraries. If you make new librarys the same thing could be
Code:T1 * c= [T1 I:@".\r\n"];
Better?
-(NSCharacterSet *) asCharacterSet
NSCharacter *set = [@". \r\n" asCharacterSet];
auto set = [@". \r\n" asCharacterSet];
Regarding the libraries, I have an issue with the fact that after I write my library, you're going to have to write many of the same functions for your own library, as will every other programmer have to write the same functions. That's a huge amount of wasted time. On top of DRY, there should also be DROP (Don't Repeat Other Programmers). The issue is that there's no good way of getting other peoples libraries. The quality is iffy, the legality is iffy, there's special conditions about how you can compile it, there's a lot of options, the documentation is poor, when an update is released are you going to get it, on and on. Bleh bleh bleh.
.
Not anything new. Check out what the perl programmers did in the library cpan.
http://www.cpan.org/
I have a lot more than just a language planned. Originally my idea was to just make a plugin for Xcode, but as my ideas multiplied I realized I needed to create an entire ecosystem for all my ideas to work together in. I need a new IDE, a new language, and a new version/package control system to make everything come together.
As you have already just about killed every other effort of cooperative programming,
The issue is that there's no good way of getting other peoples libraries. The quality is iffy...
NSRegularExpression * tagWithClassRegex = [NSRegularExpression regularExpressionWithPattern:@"<[^>]*?class\\s*=\\s*(\"[^\">]+?\"|\\w+).*?>" options:NSRegularExpressionDotMatchesLineSeparators error:NULL];
RegularExpression named:tagWithClassRegex usingPattern:"<[^>]*?class\s*=\s*(""[^"">]+?""|\w+).*?>";
auto tagWithClassRegex = [@"<[^>]*?class\s*=\s*(""[^"">]+?""|\w+).*?>" asRegularExpression];