Test results from base Linux/PPC

2011-04-04 Thread Wolfgang Lux

Running the tests on a freshly installed Ubuntu Lucid Lynx, I got

  5671 Passed tests
 14 Dashed hopes
  3 Failed tests

The three failed tests are
--- Running tests in base/coding ---

base/coding/decoding.m:
Failed test: decoding.m:197 ... decoding version 0 of class NSData
Failed test: decoding.m:197 ... decoding version 0 of class  
NSMutableData


--- Running tests in base/NSNumber ---

base/NSNumber/test00.m:
Failed test: test00.m:111 ... NSDecimalNumber charValue works

The latter of these fails due to a mismatch between signed and  
unsigned char. The test uses

  (char)200 == [val1 charValue]
The result of charValue is signed char, but char is unsigned by  
default on powerpc. For the former I don't know the cause (and can't  
debug ATM, since gdb simply crashes on this system).


Wolfgang


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Test results from base Linux/PPC

2011-04-04 Thread Richard Frith-Macdonald

On 4 Apr 2011, at 15:56, Wolfgang Lux wrote:

 --- Running tests in base/NSNumber ---
 
 base/NSNumber/test00.m:
 Failed test: test00.m:111 ... NSDecimalNumber charValue works
 
 The latter of these fails due to a mismatch between signed and unsigned char. 
 The test uses
  (char)200 == [val1 charValue]
 The result of charValue is signed char, but char is unsigned by default on 
 powerpc. 

Thanks ... I just changed the test to be '(signed char)200 == [val1 charValue]' 
since, for consistency, charValue always returns a signed char.


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep, Google Summer of Code, and an idea

2011-04-04 Thread Lars Sonchocky-Helldorf

Am 28.03.2011 um 11:52 schrieb David Chisnall:

 Thanks Fred,
 
 Projects that I'd be interested in mentoring:
 
 - Porting GNUstep to the browser.  I committed an Objective-C to JavaScript 
 compiler to Étoilé svn over the weekend.  Many GNUstep classes should work 
 as-is, some will want reimplementing wrapping their JavaScript equivalents 
 (e.g. GSDictionary, GSString, GSArray), and the drawing-related classes will 
 need tweaking to draw on a canvas.  The final step would be implementing 
 DO-over-WebSocket, so you can run view and maybe controller classes in the 
 browser, model classes on the server, and have stuff Just Work™

Hi David and everybody else,

today a co-worker of mine brought the Cappucino-Project to my attention. 

http://cappuccino.org/ is a JavaScript based Web-Framework which basically 
implements the Cocoa-API using Objective-J which is a funky JavaScript 
dialect modeled after Objective-C but implemented in JavaScript itself (it sits 
on top so to say. 

While I consider programming in Objective-J itself rather weird the existence 
of such a framework only points out the importance of David's idea. The world™  
seems to be in need of viable web toolkits! 
And I like the GWT (Google Web Toolkit)-like approach of David of compiling to 
JavaScript better than writing in Objective-J which would IMHO only feasible 
for people already living in the JavaScript-Land. Those people – on the other 
hand – know the Cocoa API very rarely.

So I consider this an important project for GNUstep even if we don't find a 
student for this (which means we need to implement this ourselves). 


cheers,

Lars
___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep, Google Summer of Code, and an idea

2011-04-04 Thread David Chisnall
Hi Lars,

On 4 Apr 2011, at 22:46, Lars Sonchocky-Helldorf wrote:

 today a co-worker of mine brought the Cappucino-Project to my attention. 
 
 http://cappuccino.org/ is a JavaScript based Web-Framework which basically 
 implements the Cocoa-API using Objective-J which is a funky JavaScript 
 dialect modeled after Objective-C but implemented in JavaScript itself (it 
 sits on top so to say. 

I've seen Cappucino before, and in part it was the inspiration for this 
project. I don't really like their Objective-J language, so much though, 
because it is just different enough from Objective-C that the differences bite 
you.

It produces some really beautiful output though, and we did consider using some 
of their code for web apps made with Étoilé (they actually use some GNUstep 
code - at least according to their documentation, I've not looked at their code 
much), but I'm too lazy to write view classes in two languages.

 While I consider programming in Objective-J itself rather weird the 
 existence of such a framework only points out the importance of David's idea. 
 The world™  seems to be in need of viable web toolkits! 

Absolutely.  There are only a few thousand.  Definitely one more is needed!

 And I like the GWT (Google Web Toolkit)-like approach of David of compiling 
 to JavaScript better than writing in Objective-J which would IMHO only 
 feasible for people already living in the JavaScript-Land. Those people – on 
 the other hand – know the Cocoa API very rarely.

It would also be nice if we could use the same thing with our UIKit 
implementation (when it exists) - compile it for the web, and let people turn 
iPhone apps into web apps with a simple recompile.

 So I consider this an important project for GNUstep even if we don't find a 
 student for this (which means we need to implement this ourselves). 

The code is in trunk/Languages/ObjC2JS in étoilé svn currently, for anyone who 
wants to play with it.  In the test directory, you will find the JavaScript 
run-time support code (implements the C memory model and the Objective-C object 
model in terms of JavaScript), along with some .m files that contain tests 
(which all work, for me at least).  There is also a jstest.html.  This includes 
all of the run-time support scripts and jstest.js, then calls the main() 
function.  To test one of the files, just compile it to jstest.m and open this 
html file with your browser (tested with FireFox 4 - should also work with 
Chrome and the WebKit nightly builds[1]).  All of the bits of C that I have 
tested work, with three exceptions:

- 64-bit integers don't work, and aren't high up my todo list (ObjC2JS uses an 
ILP32 model)
- Casting integers to pointers does not work (although pointer arithmetic does, 
as does casting pointers to integers).  This is basically impossible in 
JavaScript, so I have no plans to implement it.
- Bitfields.  These are horrible, but GNUstep uses them all over the place, so 
I'll probably get around to it soon.

My next step is to implement some of the libc functions that we need (as 
wrappers around their JavaScript equivalents, or as stubs), and add some 
low-level classes like JSString, JSArray, JSDictionary as wrappers around 
JavaScript objects, so that we can use their abstract superclasses from GNUstep 
directly.  I also want to add either an implementation of -back, or an 
implementation of CoreGraphics + some event handling using the canvas tag.  We 
can probably implement CoreAnimation quite easily, since canvas elements 
themselves are effectively layers, and can be animated with a variety of 
techniques.

There are also a few things I need to add in the compiler.  Declared properties 
as lvalues in unary and binary operations is currently broken (e.g. a.b++; or 
a.b += 2, where a is an object and b is a property) and exceptions are not 
implemented (these are trivial to do, wrapping JavaScript exceptions).

I probably won't bother with C++ support, because it is a horrible language, 
unless someone wants to pay me a lot of money for it.

Anyway, my slightly rambling point is that I plan on spending some time working 
on this, and patches are always welcome...

David

[1] I use some JavaScript stuff to implement the C object model that are added 
for WebGL.  It's possible to implement (slow) versions of these in pure 
JavaScript, which I'll probably do at some point if I need compatibility with 
other browsers.
___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep, Google Summer of Code, and an idea

2011-04-04 Thread Gregory Casamento
Robert,

I don't think they're inactive at all.  I've seen plenty of posts from
them on my google Buzz about Cappuccino and things being done with it.
  Don't assume it's Dead because there haven't been changes to the
website.   This is the same mistake people make with GNUstep.

I believe that they were on FLOSS Weekly recently and talked about new
developments.   They were recently acquired by Motorola.

GC

On Mon, Apr 4, 2011 at 8:43 PM, Robert Slover rjslo...@me.com wrote:
 The guys doing the Objective-J/Cappucino/280-North stuff just seem to have 
 disappeared.  No activity on any of those web sites in over a year.  These 
 tools were starting to look really great, too.

 Did anyone see the 'Atlas' Web-GUI Builder Demo?:  
 http://280atlas.com/what.php

 A web-based 'back' implementation this smooth for GNUStep would be an awesome 
 tool.

 --Robert

 On Apr 4, 2011, at 6:42 PM, David Chisnall wrote:

 Hi Lars,

 On 4 Apr 2011, at 22:46, Lars Sonchocky-Helldorf wrote:

 today a co-worker of mine brought the Cappucino-Project to my attention.

 http://cappuccino.org/ is a JavaScript based Web-Framework which basically 
 implements the Cocoa-API using Objective-J which is a funky JavaScript 
 dialect modeled after Objective-C but implemented in JavaScript itself (it 
 sits on top so to say.

 I've seen Cappucino before, and in part it was the inspiration for this 
 project. I don't really like their Objective-J language, so much though, 
 because it is just different enough from Objective-C that the differences 
 bite you.

 It produces some really beautiful output though, and we did consider using 
 some of their code for web apps made with Étoilé (they actually use some 
 GNUstep code - at least according to their documentation, I've not looked at 
 their code much), but I'm too lazy to write view classes in two languages.

 While I consider programming in Objective-J itself rather weird the 
 existence of such a framework only points out the importance of David's 
 idea. The world™  seems to be in need of viable web toolkits!

 Absolutely.  There are only a few thousand.  Definitely one more is needed!

 And I like the GWT (Google Web Toolkit)-like approach of David of compiling 
 to JavaScript better than writing in Objective-J which would IMHO only 
 feasible for people already living in the JavaScript-Land. Those people – 
 on the other hand – know the Cocoa API very rarely.

 It would also be nice if we could use the same thing with our UIKit 
 implementation (when it exists) - compile it for the web, and let people 
 turn iPhone apps into web apps with a simple recompile.

 So I consider this an important project for GNUstep even if we don't find a 
 student for this (which means we need to implement this ourselves).

 The code is in trunk/Languages/ObjC2JS in étoilé svn currently, for anyone 
 who wants to play with it.  In the test directory, you will find the 
 JavaScript run-time support code (implements the C memory model and the 
 Objective-C object model in terms of JavaScript), along with some .m files 
 that contain tests (which all work, for me at least).  There is also a 
 jstest.html.  This includes all of the run-time support scripts and 
 jstest.js, then calls the main() function.  To test one of the files, just 
 compile it to jstest.m and open this html file with your browser (tested 
 with FireFox 4 - should also work with Chrome and the WebKit nightly 
 builds[1]).  All of the bits of C that I have tested work, with three 
 exceptions:

 - 64-bit integers don't work, and aren't high up my todo list (ObjC2JS uses 
 an ILP32 model)
 - Casting integers to pointers does not work (although pointer arithmetic 
 does, as does casting pointers to integers).  This is basically impossible 
 in JavaScript, so I have no plans to implement it.
 - Bitfields.  These are horrible, but GNUstep uses them all over the place, 
 so I'll probably get around to it soon.

 My next step is to implement some of the libc functions that we need (as 
 wrappers around their JavaScript equivalents, or as stubs), and add some 
 low-level classes like JSString, JSArray, JSDictionary as wrappers around 
 JavaScript objects, so that we can use their abstract superclasses from 
 GNUstep directly.  I also want to add either an implementation of -back, or 
 an implementation of CoreGraphics + some event handling using the canvas 
 tag.  We can probably implement CoreAnimation quite easily, since canvas 
 elements themselves are effectively layers, and can be animated with a 
 variety of techniques.

 There are also a few things I need to add in the compiler.  Declared 
 properties as lvalues in unary and binary operations is currently broken 
 (e.g. a.b++; or a.b += 2, where a is an object and b is a property) and 
 exceptions are not implemented (these are trivial to do, wrapping JavaScript 
 exceptions).

 I probably won't bother with C++ support, because it is a horrible language, 
 unless someone wants to pay