discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Scripting!


From: Wolfgang Lux
Subject: Re: Scripting!
Date: Thu, 1 May 2014 11:17:37 +0200

Am 01.05.2014 um 10:58 schrieb Dr. H. Nikolaus Schaller:

> 
> Am 01.05.2014 um 10:31 schrieb Wolfgang Lux:
> 
>> 
>> Am 01.05.2014 um 09:22 schrieb Dr. H. Nikolaus Schaller:
>> 
>>> Hi,
>>> 
>>> Am 01.05.2014 um 02:21 schrieb Kevin Ingwersen:
>>> 
>>>> Hey!
>>>> 
>>>> To explain this subject just a little. I come from actual web development 
>>>> - my roots are deeply in PHP. The only reason I ever learned C++, followed 
>>>> by C, was due to the need to write a php extension. But due to my C++ 
>>>> lectures, I came across objective-c, and fell in love with its syntax, 
>>>> basicaly x). But this made me ask the following question:
>>>> 
>>>> Why is this not available in scripting?
>>>> 
>>>> A year later, I had to ask:
>>>> 
>>>> Is it even possible to use a scripting language, based on ObjC syntax, 
>>>> outside of OS X?
>>>> 
>>>> To be honest, why is there none? Objective-C is a great language - not 
>>>> just for GUI coding. I find that its named parameters are a key-concept. 
>>>> It simply makes function calls so much more understandable - even when you 
>>>> return to your project a year later. My favorite example that I show 
>>>> friends is an actual person. See:
>>>> 
>>>> Mother* mom = [[Mother alloc] init];
>>>> [mom pleaseBring:@"beer" to:@"Sofa" withAmount:1];
>>>> 
>>>> I do not need to explain this, do I :)
>>>> 
>>>> But, I have not given up. Years after my discovery, I have had times where 
>>>> I took google searches…and at a random sudden, Objective-J was created! 
>>>> This is one amazing concept, as I see it. But the downside: You can’t 
>>>> embed it.
>>>> 
>>>> So I wanted to ask this Objective-C community here: Is there a viable, 
>>>> cross-platform, scripting language with actual ObjC syntax? If not - why! 
>>>> :)
>>> 
>>> I am not aware of any Obj-C interpreter.
>>> 
>>> But there is Fscript: http://www.fscript.org/
>>> 
>>> which is some scripting language to inspect and manipulate Obj-C objects.
>>> 
>>> But it uses a different syntax and appears to be the opposite of what you 
>>> are looking for.
>> 
>> Fscript is a dialect of Smalltalk, so the syntax is much like that of 
>> Objective-C, except you don't need the square brackets. :-)
> 
> This makes me wonder if the parser could be extended to *optionally* accept 
> square brackets to make learning (and copy&paste of algorithms) easier.

Unfortunately not, since Smalltalk uses square brackets for its own purposes, 
namely to enclose blocks. So both
  Mother alloc init pleaseBring:@"beer" to:@"Sofa" withAmount:1
and
  [Mother alloc init pleaseBring:@"beer" to:@"Sofa" withAmount:1]
are valid Smalltalk expressions, but with completely different meanings. The 
former will create and initialize a Mother object and then send the message 
-pleaseBring:to:withAmount: to that object (with whatever result; I'd assume an 
exception "Go for yourself!"), while the latter creates a block object that 
creates the Mother object once you send a -value message to it. And of course 
there are some more differences in Smalltalk's syntax compared to Objective-C 
that I've glossed over, e.g., strings being enclosed with single quotes rather 
than double quotes.

Wolfgang





reply via email to

[Prev in Thread] Current Thread [Next in Thread]