Opened 11 years ago

Last modified 7 years ago

#1129 closed completed

Implement XHB — at Version 3

Reported by: sjanssen Owned by: none
Priority: OK Keywords:
Cc: Difficulty: unknown
Mentor: not-accepted Topic: Bindings

Description (last modified by Roman Cheplyaka)

Implement XHB, a Haskell X11 library built on XCB.

The existing X11 package has several serious issues:

  • It uses the Haskell Int type when interfacing with C code. This means the library is broken on platforms where Int and CInt are different sizes (GHC on AMD64 is such a platform)
  • The binding is quite incomplete.
  • Some parts of the library retain a C feel to them. Consider the casting/struct peeking style of the Event.html Event system, where an algebraic data type of events is more appropriate.

A binding based on XCB has several advantages:

  • The XCB binding is generated from XML that describes the X11 protocol. XHB can use these XML desciptions to generate the library. This means that XHB will be as complete and correct as the C binding.
  • XCB has an asynchronous model that may fit very well with Haskell's laziness.

Interested Mentors

Interested Students

  • Spencer Janssen (sjanssen) <sjanssen@…>
  • Roman Cheplyaka (Feuerbach) <roma@…>

Change History (3)

comment:1 Changed 11 years ago by KennKnowles

Could you actually aim for a Haskell implementation of the X protocol, rather than a binding for XCB? If XCB is generated from XML...

comment:2 Changed 10 years ago by duncan

Priority: good

comment:3 Changed 10 years ago by Roman Cheplyaka

Description: modified (diff)
Note: See TracTickets for help on using tickets.