Re: [Haskell-cafe] State of play with Haskell-Cocoa (Objective-C)bindings?

2011-08-01 Thread Donn Cave
Quoth Luke Evans l...@eversosoft.com,
 I'm planning to start an Objective-C/Cocoa project and would like to
 write it in Haskell as much as possible.

 Of course, I can contrive to split the project into app logic (Haskell)
 and UI (Objective-C) with some sort of minimal interface between them;
 possibly just plain old C FFI.

 However, I would like an interface that's as 'automatic' as possible -
 one that preferably means that I don't have to spend a lot of time
 maintaining a somewhat heavy-weight special interface layer as I grow
 my code on both sides of the divide.
 Preferably the suture line is as far over on the Objective-C side as
 possible, so that I can write pretty much everything in Haskell.

 Now, I see a couple of references to some options:
 - HOC seems very close to what I'm looking for, but the project looks
 pretty 'dormant'.
 - I see some mention of an Objective-C FFI, but am uncertain if this
 is in any current build of GHC.

 Are there any other options up anyone's sleeves?  Anybody working on
 something interesting I could play with?

You've probably seen this already and it didn't qualify as
something interesting, but 
http://www.haskell.org/haskellwiki/Using_Haskell_in_an_Xcode_Cocoa_project
still works as of MacOS 10.6 and GHC 7.0.3.  No extra libraries or
tools needed - you just wrangle your Haskell .o files and all the
attendant Haskell libraries into the Xcode project, give Interface
Builder Objective C stubs to work with, and call out to Haskell
with C FFI.  I have done only one program this way, with a very simple 
interface, not enough to have any real idea how painful it's going to be.
(Actually it didn't work with -threaded, and because GHC doesn't do
the linking I couldn't figure out how to exercise the new option to
allow +RTS options, but it seems to be fine without -threaded.)

 Until recently, I was concerned about being able to use GC on the
 Objective-C side, but with Apple's new ARC memory management model,
 that's no longer an issue. 
 Most Haskell-ObjC bindings that already exist are surely designed
 for Retain-Release, which I assume is not disrupted by ARC as this
 is just RR at runtime.

I don't know - I'm using standard (C) FFI out of the box, and both
languages must support foreign C libraries that manage their own
memory, so I perhaps erroneously have not been worrying about it.

Donn

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] State of play with Haskell-Cocoa (Objective-C) bindings?

2011-08-01 Thread Edward Amsden
On Sun, Jul 31, 2011, Luke Evans l...@eversosoft.com wrote:
 - HOC seems very close to what I'm looking for, but the project looks pretty 
 'dormant'.

My last go-round with HOC it failed at parsing Apple's Objective-C
headers. I've been thinking of digging into it and fixing it, but I'm
a student with very little time so I've not started yet.
-- 
Edward Amsden
Student
Computer Science
Rochester Institute of Technology
www.edwardamsden.com

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] State of play with Haskell-Cocoa (Objective-C) bindings?

2011-07-31 Thread Luke Evans
I'm planning to start an Objective-C/Cocoa project and would like to write it 
in Haskell as much as possible.

Of course, I can contrive to split the project into app logic (Haskell) and UI 
(Objective-C) with some sort of minimal interface between them; possibly just 
plain old C FFI.

However, I would like an interface that's as 'automatic' as possible - one that 
preferably means that I don't have to spend a lot of time maintaining a 
somewhat heavy-weight special interface layer as I grow my code on both sides 
of the divide.
Preferably the suture line is as far over on the Objective-C side as possible, 
so that I can write pretty much everything in Haskell.

Now, I see a couple of references to some options:
- HOC seems very close to what I'm looking for, but the project looks pretty 
'dormant'.
- I see some mention of an Objective-C FFI, but am uncertain if this is in any 
current build of GHC.

Are there any other options up anyone's sleeves?  Anybody working on something 
interesting I could play with?

Until recently, I was concerned about being able to use GC on the Objective-C 
side, but with Apple's new ARC memory management model, that's no longer an 
issue. 
Most Haskell-ObjC bindings that already exist are surely designed for 
Retain-Release, which I assume is not disrupted by ARC as this is just RR at 
runtime.

-- Luke


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe