Opened 11 years ago

Closed 7 years ago

#1129 closed completed (wontfix)

Implement XHB

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

Description (last modified by Ivan Zakharyaschev)

Implement XHB, a Haskell X11 library built on XCB.

The existing X11 package has several serious issues:

  • 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 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.

This project was attempted last year, and given the improvements in the X11 library since then, furthering the XHB bindings is a low priority.

If you're interested in this project, please contact Don (mentor, below), to discuss the current situation.

Interested Mentors

  • Don Stewart

Interested Students

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

Change History (11)

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)

comment:4 Changed 10 years ago by Roman Cheplyaka

Description: modified (diff)

comment:5 Changed 10 years ago by dons

Description: modified (diff)
Priority: goodOK
Type: proposed-projectcompleted

comment:6 Changed 9 years ago by Roman Cheplyaka

XHB is being developed by Antoine Latter et al., see http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xhb

comment:7 Changed 7 years ago by Ivan Zakharyaschev

Description: modified (diff)

comment:8 Changed 7 years ago by Ivan Zakharyaschev

Description: modified (diff)

comment:9 Changed 7 years ago by Ivan Zakharyaschev

Description: modified (diff)

comment:10 Changed 7 years ago by Ivan Zakharyaschev

Description: modified (diff)

comment:11 Changed 7 years ago by Johan Tibell

Resolution: wontfix
Status: newclosed

Nice idea but I don't see a big community need for this to make it a GSoC project.

Note: See TracTickets for help on using tickets.