User loginNavigation |
archivesPinS and RWH are Jolt FinalistsBooks on two of the languages that get a lot of airplay on LtU have made the finalist list for this year's Jolt awards.
Congratulations to Martin, Lex, Bill, John, Bryan, and Don! Whether or not either book wins, it's quite a sea change that two sophisticated, statically typed functional programming languages with research origins are getting so much mainstream attention. From the FAQ
Two Lightweight DSLs for Rich UI ProgrammingAbstract. User interfaces are evolving beyond bitmaps to include animation and special effects that utilize powerful graphics hardware. Unfortunately, the APIs used to implement these features are often not programmer friendly and can result in verbose code that is written in multiple languages. This paper describes our experience in improving UI library usability through lightweight domain specific languages (DSL) that are limited in scope to ease the use of library features rather than whole libraries. Lightweight DSL code is evaluated without meta-programming by using a hosting language’s conventional extensibility mechanisms such as operating overloading and automatic conversions. As a result, lightweight DSLs are easy to implement while their code can easily be modularized and manipulated by host language abstractions. We demonstrate the effectiveness of our technique through two C# lightweight DSLs for expressing databinding and pixel shading in Microsoft’s WPF UI library. Full paper available here, submitted for publication. Defining a containing function on polymorphic listI am trying to define a containing function to see if a value is one of the elements within a list which is polymorphic, but failed with the following codes: contain :: a -> [a] -> Bool> contain x [] = False > contain x (y:ys) = if x == y then True else contain x ys it seems that the problem is the 'operator' == does not support a polymorphic check? Any way can solve the problem? or any alternative solution to achieve the purpose? Thanks! Raeck |
Browse archivesActive forum topics |