News aggregator

Darcs: Darcs News #110

Planet Haskell - Wed, 03/04/2015 - 6:18am
News and discussions
  1. The Darcs 2.10 release is near! Please test the release branch and tell us if you find a bug.
  2. Joachim Breitner has shut down his darcswatch service after 7 years of activity:
Issues resolved (11)
issue822 Ernesto Rodriguez
issue2260 Ganesh Sittampalam
issue2385 Guillaume Hoffmann
issue2410 Guillaume Hoffmann
issue2411 Guillaume Hoffmann
issue2414 Guillaume Hoffmann
issue2418 Guillaume Hoffmann
issue2422 Ganesh Sittampalam
issue2427 Ben Franksen
issue2431 Ben Franksen
issue2432 Ganesh Sittampalam
issue2437 Guillaume Hoffmann
Patches applied (111)See darcs wiki entry for details.
Categories: Offsite Blogs

I'm creating a functional rendering engine in Haskell! I'd love some pointers!

Haskell on Reddit - Wed, 03/04/2015 - 5:54am

I'm creating this engine for a university project in my final year. It's the only module I've got left, and it lasts for about 3 months. I'm about 7 weeks in to it and have made some ok-ish progress.

Before this, I had never touched Haskell or any other functional languages, so it's not going to be a groundbreaking engine.

I've adopted a gloss-style approach to rendering but in 3D. I handle some primitives such as cubes/spheres/cylinders/etc. I also handle translation/rotation/camera/lighting/compiled nodes.

For rotation, I've used quaternions so as to avoid gimble lock. For camera, I've used gluLookAt and gluPerspective with properties being able to set in another data structure. For lighting, I've simply gone for position, ambience and diffuse for the moment to keep it simple. And for compiled nodes, I've given the option to compile the drawable (Equivalent of picture in gloss) using a DisplayList and then call it back when it comes to drawing it. All fairly basic stuff.

This is all done in direct mode, but the bulk of this needs to handle shaders as that's where the future is in graphics. I've not that much experience with shaders even in C++. So I was wondering if you guys could help me to approach them in Haskell. Essentially just what should I do to get the basics down, how do you think I should handle it in the same style as I've done my other stuff (Using scene graphs), and how else can I future-proof my library?

I know it would make sense to post the source, and I will put it on Hackage when it's done, but it's not really in -that- usable of a state at the moment.

I imagine I've not really made it clear what I need help on, but please do ask me to clarify something, I'd really like to get some expertise on this! I'll post again soon-ish with a demo of the library in a hopefully more usable state!

Thank you very much for helping!

Edit: Thank you all very much for helping me and giving me advice, I really do appreciate how nice the community is! Hopefully I can output something that's not just for a uni project and may actually be of some use to any of you guys!

submitted by Navajubble
[link] [28 comments]
Categories: Incoming News

ANN: ZuriHac 2015: registration is open

Haskell on Reddit - Wed, 03/04/2015 - 4:35am

Hi everybody,

it is my pleasure to announce that the registration for ZuriHac 2015 [1] is open now.

If you want to participate in this year's Haskell Hackathon in Zurich, please fill out this form [2].

Make sure to wait for a confirmation email afterwards before booking. The event can only host around 90 participants. We will confirm registrations at a first come first served basis.

Please spread the word!

Hope to see you soon!

Alex

[1] https://wiki.haskell.org/ZuriHac2015

[2] http://goo.gl/forms/L24NgFRvCw

submitted by copton
[link] [comment]
Categories: Incoming News

The GHC Team: GHC Weekly News - 2015/03/03

Planet Haskell - Tue, 03/03/2015 - 8:52pm

Hi *,

It's that time again! Today GHC HQ met on a Tuesday to avoid some scheduling conflicts, and that means it's time to send some news to people.

Just a quick reminder from last week: we're hoping to make our third GHC 7.10.1 release candidate on Friday, March 13th, with the final release on Friday, March 27th.

Today, GHC HQ met up and mostly discussed the current status of GHC 7.10 and its bugs, which you can find on the Status page: ​https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.10.1

But we've also had a little more list activity this week than we did before:

Some noteworthy commits that went into ghc.git in the past week include:

Closed tickets the past week include: #9586, #10122, #10026, #8896, #10090, #10123, #10128, #10025, #10024, #10125, #9994, #9962, #10103, #10112, #10122, #9901, #10130, #10129, #9044, #8342, #8780, #10003, #17, #2530, #8274, and #10107.

Categories: Offsite Blogs

On the scope of 'directory' (and which issue tracker to use)

libraries list - Tue, 03/03/2015 - 8:35pm
Looking at the current API, it seems that the 'directory' library has been extended to more than just mere directory-related operations: it includes several file-related utilities as well. It looks to me that 'directory' has become a place for consolidating filesystem-related operations for *nix and Windows platforms. Given the state of things, would it be more appropriate to call it a "platform-agnostic library for filesystem operations" rather than a "library for directory manipulation"? (Of course, the name of the library and its modules would remain slightly misleading but oh well.) On an unrelated issue, seeing as most of the issues are on GitHub rather than Trac (and I personally find the former simpler to use) perhaps the .cabal file should point to the GitHub issue tracker instead? -- Phil
Categories: Offsite Discussion

Help needed

haskell-cafe - Tue, 03/03/2015 - 8:12pm
I am a newbie to contributing to open source.I need help or the procedure for the following. 1.Replying to a thread2.Creating an account with the forum that will help me get started off for GSOC 2015. I apologize if this is not the right forum to be posting this, please direct me to the right forum. Thanks,S J Rajath Krishna _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Categories: Offsite Discussion

(no subject)

haskell-cafe - Tue, 03/03/2015 - 7:36pm
I would like to create an account with the following user name User name :  "raxerz"  (Without the quotes) Thanks,S J Rajath Krishna _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Categories: Offsite Discussion

Using haskell to determine if a function is tail recursive

Haskell on Reddit - Tue, 03/03/2015 - 5:59pm

I had an interesting idea, but I'm too much of a newbie to actually write it myself. I was wondering if there was a way to take in a function and determine if it's tail recursive. I feel like you'd have to do some really low level stuff to tell if the call is added to the stack or heap, but I don't know. Has anyone ever attempted this?

submitted by gin-writ
[link] [3 comments]
Categories: Incoming News

Functional Jobs: Full-Stack Senior Functional Web Engineer at Front Row Education (Full-time)

Planet Haskell - Tue, 03/03/2015 - 2:52pm
Position

Senior full-stack functional web engineer to join fast-growing education startup that changes how over a million young students learn math.

TL;DR - Reasons to care about working with Front Row
  • Our mission is important to us, and we want it to be important to you as well: hundreds of thousands of kids learn math using Front Row every month. Our early results show students improve twice as much while using Front Row than their peers who aren’t using the program.
  • You’ll be one of the first engineers on the team, which means you’ll have an immense impact on our company, product, and culture; you’ll have a ton of autonomy; and you’ll have equity to match the weight of this role
  • A lot of flexibility: while we all work towards the same goals, you’ll have a lot of autonomy in what you work on, you can work from home up to one day a week, and we have a very flexible unlimited vacation days policy
  • You’ll use the most effective tools in the industry: Haskell, Postgres, Backbone.js, Ansible and more. Front Row is one of the very few organizations in the world that use Haskell in production for most of their systems and is an active member of the Haskell community.
  • In addition to doing good, we’re doing really well: in just over a year after launch, we are in more than 20% of all US elementary & middle schools.
The Business

Millions of teachers around the USA are struggling to help 30+ students in their class learn math because every student is in their own place. In a typical fourth grade classroom, there may be students learning to count, students learning to add, students learning to multiply, and students learning how exponents work - and one teacher somehow needs to address all these needs.

Front Row makes that impossible task possible, and as of today, more than a hundred thousand students use Front Row to receive personalized guidance in their learning. Thousands of teachers use Front Row every day to save hours of time and make sure their students are growing at the fastest rate achievable. Front Row active users have been growing over 25% a month for the past 6 months.

Front Row is successfully venture-funded and on the road to profitability.

The Role

As one of our very first engineers, you will be part of a team of developers who are passionate about their vocation, take pride in their craft and who push each other to grow as professionals. You will strive for pragmatism and 80/20 in your work. You will be using tools that make you most effective. By working really smart, you will produce more than the average developer ever will, but without the crazy hours.

We love generalists who can quickly bring themselves up to speed with any technology we’re using: you will have the chance to learn a lot, and fast too. You will receive continuous support and mentorship on your journey to achieving mastery. We do however expect you not to need to be hand-held and rely on others for your own growth. You will have full autonomy over your work.

You will work in an effective team that plans, executes and reflects together. Because we’re a small team, everything you create will go into production and be used by students. You will never do unimportant work: every contribution will make a clear and tangible impact on the company’s trajectory. Your personal success will be directly aligned with that of the company.

Most importantly, your work will have purpose: Front Row is a mission-driven company that takes pride in making a significant impact in the lives of hundreds of thousands of students.

Tools
  • Front Row is a polyglot combination of multiple web applications, mobile apps and asset generation tools.
  • Web front-ends are a custom version of Backbone.js + plugins.
  • The backend is a series of Haskell+Yesod-based applications talking to PostgreSQL and 3rd party services.
  • All test, build and deployment automation relies on Ansible. AWS for hosting.
  • We have mobile apps for both iOS and Android
  • Work is continuously happening to simplify and minimize the codebases.
Must haves
  • You have experience doing full-stack web development. You understand HTTP, networking, databases and the world of distributed systems.
  • You have functional programming experience.
  • Extreme hustle: you’ll be solving a lot of problems you haven’t faced before without the resources and the support of a giant organization. You must thrive on getting things done, whatever the cost.
Nice-to-haves
  • You have familiarity with a functional stack (Haskell / Clojure / Scala / OCaml etc)
  • You're comfortable with the Behavior-Driven Development style
  • You have worked at a very small startup before: you thrive on having a lot of responsibility and little oversight
  • You have worked in small and effective Agile/XP teams before
  • You have delivered working software to large numbers of users before
  • You have familiarity with system and network administration
Benefits
  • Competitive salary
  • Generous equity option grants
  • Medical, Dental, and Vision
  • Lunch is on us three times a week, and half-day event every month (trip to Sonoma, BBQ, etc)
  • Equipment budget
  • Flexible work schedule
  • Flexible, untracked vacation day policy
  • Working from downtown SF, very accessible location
Front Row - our mission

It's an unfortunate reality that students from less affluent families perform worse in school than students from wealthier families. Part of this reason has to do with home environment and absentee parents, but much of it has to do with inferior resources and less experienced teachers. The worst part of this problem is that if a student falls behind in any grade, they will forever be behind in every grade.

That's the core problem Front Row solves - it doesn't let students fall behind. And if they fall behind, Front Row helps catch them up really quickly because Front Row arms teachers with the resources and knowledge to develop their students individually. Now, the probability of falling behind in any given grade is irrelevant, because it will never compound. The student who would have been the most at risk will instead be up to speed, and therefore far more motivated.

Get information on how to apply for this position.

Categories: Offsite Blogs

DSLDI: 3rd Workshop on Domain-Specific Language Designand Implementation

General haskell list - Tue, 03/03/2015 - 2:02pm
********************************************************************* FIRST CALL FOR TALK PROPOSALS DSLDI 2015 Third Workshop on Domain-Specific Language Design and Implementation July 7, 2015 Prague, Czech Republic Co-located with ECOOP http://2015.ecoop.org/track/dsldi-2015-papers ********************************************************************* Deadline for talk proposals: 2nd of April, 2015 If designed and implemented well, domain-specific languages (DSLs) combine the best features of general-purpose programming languages (e.g., performance) with high productivity (e.g., ease of programming). *** Workshop Goal *** The goal of the DSLDI workshop is to bring together researchers and practitioners interested in sharing ideas on how DSLs should be designed, implemented, supported by tools, and applied in realistic application contexts. We are both interested in discovering how already known domains such as graph processing or machine learning can be best supported by DSLs, but also in exploring n
Categories: Incoming News

Lifting Writer to ListT

haskell-cafe - Tue, 03/03/2015 - 1:03pm
Hi all, Suppose I have this monad stack: type MyMonad = ListT (Writer W) Where ListT is done right (from the list-t package). What I want is a nondeterministic computation where each alternative logs to the same writer, and indeed the type of runWriter . toList is MyMonad a -> ([a], w) so I think I got it right. What I would like to do is to write an instance of MonadWriter for this monad, but I'm stuck with the implementation of listen. Just using lift won't work, and indeed I see that MonadWriter lifting instances for other monads (e.g MaybeT), are a bit convoluted. Could someone explain me a little bit what should I do (what listen should do in a ListT in the first place) Thank you :) Nicola
Categories: Offsite Discussion

Am I using Parsec correctly?

haskell-cafe - Tue, 03/03/2015 - 12:00pm
Categories: Offsite Discussion

Error -> Except migration

libraries list - Tue, 03/03/2015 - 9:32am
Hi, In recent versions of transformers, 'ErrorT' has been deprecated in favour of 'ExceptT': https://hackage.haskell.org/package/transformers-0.4.2.0/docs/Control-Monad-Trans-Error.html This doesn't seem like a trivial like-for-like replacement since the implementation of 'fail' is different - in ErrorT it produces an exception within the ErrorT itself, and in ExceptT it just calls fail in the underlying monad. Is there any guidance or simple trick to find if a program is relying on the old behaviour? Otherwise migrating could be rather painful/dangerous, particularly as tests often don't cover exceptional cases well. I've spent a while searching for past discussion of the change, but haven't found anything, so please do point me at anything relevant if this has already been discussed. Cheers, Ganesh
Categories: Offsite Discussion

Threepenny-gui: How to create an event that triggers when a computation completes

Haskell on Reddit - Tue, 03/03/2015 - 8:58am

I want to create a game where the user plays the computer. The computer runs an algorithm to compute it's next move which takes some time, so I need an event (and/or behavior) that lets me know when the algorithm is done running. Is this possible in three-penny gui?

submitted by martingalemeasure
[link] [3 comments]
Categories: Incoming News

Happy Haskell Programming

del.icio.us/haskell - Tue, 03/03/2015 - 8:31am
Categories: Offsite Blogs