Haskell Project

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

Haskell Project

Postby mameluc » Wed May 11, 2011 5:49 pm UTC

Hi everyone..
I've been reading the forum for a while, but only now i decided do join..

I'm a Computer Engineering student, and this semester i'm studying Functional Programming.
I need to make a project, but I really hate haskell, and can't get any good ideas.
Until now, i thought of a lexical analyzer for Pascal and something to find routes to places on campus, but they aren't very good.
So, i'm asking for suggestions. Anything is very welcome, except TSP :mrgreen: please.
mameluc
 
Posts: 2
Joined: Tue Nov 03, 2009 5:15 pm UTC

Re: Haskell Project

Postby Yakk » Wed May 11, 2011 8:31 pm UTC

Pathfinding is amusing. Writing a functional implementation of A* could be fun.

However, I have no idea how competent you are at writing algorithms. I could make assumptions based on the name of your degree, but those assumptions wouldn't be generous. ;)

"A project" is exceedingly vague. What sort of subjects to you understand? What was the guidance asto what kind of projects are expected? Would a fourier-polynomial multiplier be "a project", or should it have wiz-bang GUI and some pseudo-"practical" use?
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.
User avatar
Yakk
 
Posts: 10064
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Haskell Project

Postby WarDaft » Wed May 11, 2011 9:23 pm UTC

Step 1) Write a genetic algorithm to breed a neural network to an arbitrary problem.

Step 2) Tweak it to improve learning capabilities.

Step 3) Make a conceptualized real time game (obviously it need not run in real time, that just adds busy work with IO code) for the AI to compete at. It could be as simple as ARC with no visible interface.


Depending on the size of the project, do some or all of these steps.
All Shadow priest spells that deal Fire damage now appear green.
Big freaky cereal boxes of death.
User avatar
WarDaft
 
Posts: 1539
Joined: Thu Jul 30, 2009 3:16 pm UTC

Re: Haskell Project

Postby mameluc » Wed May 11, 2011 10:20 pm UTC

First of all, thank you for the answers.

Yakk wrote:Pathfinding is amusing. Writing a functional implementation of A* could be fun.

However, I have no idea how competent you are at writing algorithms. I could make assumptions based on the name of your degree, but those assumptions wouldn't be generous. ;)

"A project" is exceedingly vague. What sort of subjects to you understand? What was the guidance asto what kind of projects are expected? Would a fourier-polynomial multiplier be "a project", or should it have wiz-bang GUI and some pseudo-"practical" use?


Well, I consider myself skilled in writing algorithms. I'm working with minimization problems, related to power distribution losses.
Unfortunately, my teacher was vague too. One of his suggestions was "matriculation processing".
I think it must be some kind of problem 'suitable for functional programming', but his explanations were, again, very vague, about what that means.

If i find no better problem, I'll use A* for pathfinding.

WarDaft wrote:Step 1) Write a genetic algorithm to breed a neural network to an arbitrary problem.

Step 2) Tweak it to improve learning capabilities.

Step 3) Make a conceptualized real time game (obviously it need not run in real time, that just adds busy work with IO code) for the AI to compete at. It could be as simple as ARC with no visible interface.


Depending on the size of the project, do some or all of these steps.


At first, I thought of implementing Neil Fraser's Chain Reaction (cant post links yet).
It would be awesome to use a neural network to improve the AI based on user's input. Also, ARC sounds nice too.
mameluc
 
Posts: 2
Joined: Tue Nov 03, 2009 5:15 pm UTC

Re: Haskell Project

Postby Yakk » Thu May 12, 2011 12:41 am UTC

Heh. Try asking for example problems and grades, if you care about that kind of thing.

I'm more tempted by stunts than anything.
A Haskell interpreter of some imperative language (even a simplified subset) would be amusing. You could even try interpreting bytecode. Or write your own (simple) imperative language.

I've wanted to get my head around co-induction for a while now, and a Haskell project that used that to solve a problem would be interesting to me.

A 3d library that builds binary instructions to send to a GPU (ie, it doesn't control the GPU, it just writes programs for a GPU in some easy to send-to-GPU language), possibly even with hooks intended to make animation easy.

A constructive real number library (where a real number is an arbitrary sequence plus proof that the sequence is Cauchy) is amusing to write. Skip checking the proofs to start with mayhap -- or, you could write a restricted real number library that supports real numbers in a particular form (and not just those that can be proven to be Cauchy). If you need an application, a Calculator that doesn't round (it just displays a limited number of digits).

A massively parallel implementation of some reasonably expensive algorithm. The trick here, of course, could be getting your execution distributed, moreso than the functional part.
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.
User avatar
Yakk
 
Posts: 10064
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Haskell Project

Postby WarDaft » Thu May 12, 2011 1:37 am UTC

Well, numerical optimization functions are quite well suited to functional programming.

I've wanted to get my head around co-induction for a while now, and a Haskell project that used that to solve a problem would be interesting to me.
How does coinduction relate to corecursion? Wikipedia only has a useful article on the second. You really have to ditch some preconceptions of what 'the result' is to get all the examples in the corecursion article.
All Shadow priest spells that deal Fire damage now appear green.
Big freaky cereal boxes of death.
User avatar
WarDaft
 
Posts: 1539
Joined: Thu Jul 30, 2009 3:16 pm UTC

Re: Haskell Project

Postby amindfv » Mon May 23, 2011 3:44 am UTC

What school do you go to? Not many colleges use Haskell (yet!)

Tom
amindfv
 
Posts: 2
Joined: Mon May 23, 2011 3:43 am UTC

Re: Haskell Project

Postby silleknarf » Sun Jun 05, 2011 4:09 pm UTC

Last year, there was a competition at the end of one of my courses to write, in haskell, a program that generates an image. Quite arbitray but there were some cool ones, like fractals you could zoom in on indefinitely. I go to University of Edinburgh and Haskell is the first language students learn for CS.
silleknarf
 
Posts: 12
Joined: Sun Jun 05, 2011 3:41 pm UTC


Return to Coding

Who is online

Users browsing this forum: liweriwijb, MSN [Bot] and 8 guests