Re: [Haskell-cafe] Re: C functional programming techniques?

2010-01-31 Thread Alexander Solla


On Jan 30, 2010, at 5:26 PM, Maurí cio CA wrote:


Do you have some link to an example of such proof by induction of
type safety?


Not off-hand, but I did just find Atze Dijkstra's Essential Haskell,  
which covers the type system in depth, and it looks like a good bet  
for you.  http://www.cs.uu.nl/groups/ST/Projects/ehc/ehc-book.pdf


The principle is really easy.  Since we deal with recursive structures  
so often, proof by induction boils down to proof by cases.  You want  
to prove type safety for the base cases (the emitters), and prove that  
your combinators preserve type safety.  But that's easy -- we get that  
for free since your combinators will be plain old Haskell functions.   
This would have been the induction step of the proof.


The principle is pretty simple.  Consider the Haskell types:

 data A = A deriving Show
 data B = B deriving Show

 data Pair = Pair { (A, B) }

And now let's say we want to turn a Pair into a Haskell function from  
A to B, as a string.  I'm emitting Haskell since I don't know C. ;-)


 emitPair ::  Pair - String
 emitPair (Pair (a,b)) = pair  ++ show a ++  =  ++ show b

To use this, I would call emitPair from a Haskell source file, with a  
Pair as an argument, and it would define the function pair in the  
source file.  To prove that emitPair meets the specification, you need  
to show that it emits the correct grammar.  In fact, we can prove that  
emitPair emits type safe Haskell, in virtue of the fact that it is  
valid Haskell.  Basically, to prove that your C emitters are type  
safe, you have to ensure that the code they emit is type safe.


You might want to create a sort of syntax tree data type to emit  
from.  Or just create data types for each type of thing you want to  
emit.You can also create emitters that act on monadic values/ 
actions.  That might be a good option.  You can hijack bind's  
semantics to make it concatenate your monadic action representation of  
a C fragment, and use do notation to write C code.


This idea can spiral out of control.  The more granular you make the  
emitters/abstract syntax tree, the more your macro system becomes like  
a general purpose compiler for your own personal language.  Have fun!___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Trapping getChar before echo

2010-01-31 Thread Mark Spezzano
Hi,

Is there any way of trapping keystrokes in Haskell, modifying them, and then 
echoing?

Basically I want to give the user a prompt  like:


and then have whatever they type appear in UPPERCASE regardless of whether caps 
lock was on or not.

By default Haskell seems to echo characters in whatever case they were typed. I 
want to sneak in a toUpper in before the Chars get echoed.

Thanks

Mark Spezzano


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Strange random choice algorithm

2010-01-31 Thread Sebastian Fischer

On Jan 31, 2010, at 12:06 AM, Sebastian Fischer wrote:


   pick xs = do n - randomRIO (1,length xs)
return (xs!!(n-1))

would have been clearer.. It queries the random number generator  
only once but walks through the list twice.


Walking through the list twice leads to linear memory requirements  
because the list cannot be garbage collected during the evaluation of  
length. If you intend to use this function with very long lists, the  
original algorithm is preferable. Here is a rewriting:


import System.Random (randomRIO)
import Control.Monad (foldM)

pick (x:xs) = foldM swap x $ zip xs [2..]
 where swap y (z,n) = do m - randomRIO (1::Integer,n)
 if m==1 then return z else return y

This version of `pick` runs in constant space.

Sebastian


--
Underestimating the novelty of the future is a time-honored tradition.
(D.G.)



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Strange random choice algorithm

2010-01-31 Thread Chaddaï Fouché
On Sat, Jan 30, 2010 at 9:38 PM, Daniel Fischer
daniel.is.fisc...@web.de wrote:
 Also, is there a more direct way of printing an array?

 Sure,

 printing immutable arrays:

 print arr ~ array (lo,hi) [(lo,arr!lo), ... , (hi,arr!hi)]
 print (assocs arr) ~ [(lo,arr!lo), ... , (hi,arr!hi)]
 print (elems arr) ~ [(arr!lo), ... , (arr!hi)]

Those are all fine.


 printing IO[U]Arrays:

 do immArr - freeze arr
   print (immArr :: [U]Array ix el)

 do ass - getAssocs arr
   print ass

 (getAssocs arr = print)

 do els - getElems arr
   print els


On the other hand, all those suggestions have a severe efficiency
problem due to the IO Monad strictness, for instance (getAssocs arr
= print) will start by creating the whole list of associations
before printing any of it.

More efficient and still better than the initial code would be :

mapM_ (readArray arr = print) [1..9]

-- 
Jedaï
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] ANN: Elerea 1.2.3 with some enhancements

2010-01-31 Thread Patai Gergely
Hello all,

I added a few new features to the experimental branch of Elerea [1], my
little FRP library. The previous release added random sources -- both
noise signals and instantaneous values within generators -- using
mersenne-random, and the current update added an extra primitive to
handle external events that can occur several times between samplings,
as I heard some people needed this. All the three variants of the
experimental interface support these additions.

Here's a simple example showing how the new externalMulti construct can
be used:

import Control.Monad
import FRP.Elerea.Experimental.Simple

main = do
  (gen,sink) - externalMulti
  sig - start $ do
vals - gen
cnt - stateful 10 (+1)
return (liftM2 (:) cnt vals)
  let act = print = sig
  act
  sink 3
  act  act
  sink 8  sink 2
  act
  sink 1  sink 7  sink 9
  act  act  act
  sink 4
  act

The program prints the following:

[10]
[11,3]
[12]
[13,2,8]
[14,9,7,1]
[15]
[16]
[17,4]

As you can see, all the input received since the last sampling is
collected in a list in reverse order. It is up to the programmer to
store these values somewhere or build further IO actions out of them.

Gergely

[1] http://hackage.haskell.org/package/elerea

-- 
http://www.fastmail.fm - Does exactly what it says on the tin

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Trapping getChar before echo

2010-01-31 Thread Neil Mitchell
Hi Mark,

http://haskell.org/hoogle/?hoogle=set+echo

Thanks, Neil

On Sun, Jan 31, 2010 at 8:47 AM, Mark Spezzano
mark.spezz...@chariot.net.au wrote:
 Hi,

 Is there any way of trapping keystrokes in Haskell, modifying them, and then 
 echoing?

 Basically I want to give the user a prompt  like:


 and then have whatever they type appear in UPPERCASE regardless of whether 
 caps lock was on or not.

 By default Haskell seems to echo characters in whatever case they were typed. 
 I want to sneak in a toUpper in before the Chars get echoed.

 Thanks

 Mark Spezzano


 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Trapping getChar before echo

2010-01-31 Thread Michael Hartl
import System.IO
import Data.Char

main = do
  hSetEcho stdin False
  hSetBuffering stdin NoBuffering
  hSetBuffering stdout NoBuffering
  scanLine
  where scanLine = do 
  c - hGetChar stdin
  putChar . toUpper $ c
  scanLine


Am Sonntag, den 31.01.2010, 19:17 +1030 schrieb Mark Spezzano:
 Hi,
 
 Is there any way of trapping keystrokes in Haskell, modifying them, and then 
 echoing?
 
 Basically I want to give the user a prompt  like:
 
 
 and then have whatever they type appear in UPPERCASE regardless of whether 
 caps lock was on or not.
 
 By default Haskell seems to echo characters in whatever case they were typed. 
 I want to sneak in a toUpper in before the Chars get echoed.
 
 Thanks
 
 Mark Spezzano
 
 
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Trapping getChar before echo

2010-01-31 Thread Andrew Coppin

Michael Hartl wrote:

import System.IO
import Data.Char

main = do
  hSetEcho stdin False
  hSetBuffering stdin NoBuffering
  hSetBuffering stdout NoBuffering
  scanLine
  where scanLine = do 
  c - hGetChar stdin

  putChar . toUpper $ c
  scanLine
  


Last time I tried something like this [on Windows], it didn't seem to 
work. I wanted to trap arrow keys and so forth, but they seem to be 
being used for input history. (I.e., pressing the up-arrow produces 
previously-entered lines of text, and none of this appears to be 
reaching the Haskell program itself.) Has this changed since I tried it 
last year?


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] ANN: haskell-src-exts-1.8.0

2010-01-31 Thread Niklas Broberg
Fellow Haskelleers,

I'm pleased to announce the release of haskell-src-exts-1.8.0!

* On hackage: http://hackage.haskell.org/package/haskell-src-exts
* Via cabal: cabal install haskell-src-exts
* Darcs repo: http://code.haskell.org/haskell-src-exts

For users of hsx, the latest version 0.6.1 works unchanged with this release.

1.7.2 -- 1.8.0
===

* Add an instance Show Fixity (derived).

* Support for the new ANN and INLINE_CONLIKE pragmas.

* Remove support for CFILES and INCLUDE pragmas. The support wasn't
  correct anyway, as it assumed the pragmas appeared at the top of
  files. As CFILES/INCLUDE pragmas can (and do) appear anywhere,
  there's no hope to support them in the AST. Better to remove the
  support altogether. Files with CFILES/INCLUDE pragmas can still
  be parsed of course, but those pragmas will be handled as comments.

* Parsing with ignoreLinePragmas = False now correctly updates the
  file name.

* Allow the whole SPECIALISE/INLINE family of pragmas in instance
  declarations. The InsInline constructor is removed, and is now
  represented by 'InsDecl (InlineSig ...)'.

* Fix a bug with line numbering and quasi quotes, and a similar one
  with line numbering and CDATA.

* Fix a few minor bugs in the exactPrinter.

* Fix the strange handling of so called strings in LINE pragmas.

Cheers,

/Niklas
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: ANN: haskell-src-exts-1.8.0

2010-01-31 Thread Niklas Broberg
 1.7.2 -- 1.8.0
 ===

... and one more I forgot: Export 'knownExtensions' from .Extension.

/Niklas
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Linguistic hair-splitting

2010-01-31 Thread Tristan Seligmann
On Sat, Jan 30, 2010 at 9:33 AM, Conal Elliott co...@conal.net wrote:
 I don't like this bias toward singling out Monad among all of the type
 classes, thereby perpetuating the misleading mystique surrounding Monad.  If
 you're going to call [3,5,8] a monadic value, then please give equal time
 to other type classes by also calling [3,5,8] a functorial value
 (functorific?), an applicative value, a monoidal value, a foldable
 value (foldalicious?), a traversable value, a numeric value (see the
 applicative-numbers package), etc.  Similarly when referring to values of
 other types that happen to be monads as well as other type classes.

The thing is, you're not always referring to a concrete value. If
you're discussing a value of type [Integer], then sure, you can call
it a list of Integer; but what if you're discussing a value of type
(Monad m) = m Integer, or even (Monad m) = m a?
-- 
mithrandi, i Ainil en-Balandor, a faer Ambar
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Recursively traversing a data structure with HXT

2010-01-31 Thread Mads Lindstrøm
Hi

I am trying to use HXT (8.3.2) for parsing XML. I think an example will
clarify what I want to do. I want to parse XML like this:

object class=ex1
   foo/
   foo
  object class=ex2/
  object class=ex3/
   /foo
   object class=ex4/
/object

and want to turn it into the following Haskell data structure:

data Widget = Widget 
{ cls :: String
, children :: [Widget]
}

The XML above should be turned into:

Widget ex1 [Widget ex2 [], Widget ex3 [], Widget ex4 []]

That is, I want everything but the object-tags stripped out. And I want
to keep the hierarchy of the object-tags.

I thus wrote the following program:

{-# LANGUAGE Arrows, NoMonomorphismRestriction #-}

module Main where

import Text.XML.HXT.Arrow


data Widget = Widget 
{ cls :: String
, children :: [Widget]
}
deriving Show

main = (runX (readDocument [(a_validate,v_0)] test.xrc
getObject))
   = print

getObject =
deep (isElem  hasName object) 
proc x - do
  cls - getAttrValue class- x
  cs  - listA getObject  getChildren - x  -- recursive call here
  returnA - Widget cls cs


But it do not work as intended. In stead I get the following output:

[Widget {cls = ex1, children = []},Widget {cls = ex1, children =
[]},Widget {cls = ex1, children = []},Widget {cls = ex1, children =
[]},Widget {cls = ex1, children = []},Widget {cls = ex1, children =
[]},Widget {cls = ex1, children = []}]


Hopefully somebody can point me in the right direction.


Greetings,

Mads Lindstrøm



signature.asc
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Very imperfect hash function

2010-01-31 Thread John Lato
On Fri, Jan 29, 2010 at 9:26 AM, Hans Aberg hab...@math.su.se wrote:
 On 29 Jan 2010, at 15:57, John Lato wrote:

 Are you
 basically just suggesting to stick everything in an array with the key
 as an index?

 You still need to fold the key values onto some interval.

Not with a suitably large array ;-)


 Or are you suggesting an actual hash table?

 The hash function folds the keys onto an interval. Since you have Int values
 k, you might just use a mod k n function for that.

 If it's the
 latter, I'm not certain where the array fits into the picture.  I'm
 pretty sure I'm missing something here.

 There is a module Data.HashTable. The array is just to make lookup fast.
 Like in:
  ST s (STArray s HashKey (Map Key Value))

I was misunderstanding your intention here.  This is an interesting
approach, but I would still try an IntMap first.

Cheers,
John
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Anyone recommend a VPS?

2010-01-31 Thread Michael Snoyman
Hi all,

I'm working with a client right now on deploying an app. I was wondering if
anyone had some recommendations for a Haskell-friendly host. I'm inclined to
go with a VPS for this setup, but if there's reliable shared hosting, that
would do as well. This client is fairly price-sensitive, so I don't think
anything past the $20/month range to start off with. The only other
requirement for this project is PostgreSQL. As far as wants:

* Linux is preferable
* A server that isn't on everyone's spam list would be better. Of course, I
can route through an outside e-mail provider, but local would be nicer.
* Have room to grow. For now, this is a fairly small app, but the hope of
course is for it to expand.

Thanks in advance.

Michael
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Very imperfect hash function

2010-01-31 Thread Hans Aberg

On 31 Jan 2010, at 20:07, John Lato wrote:


Or are you suggesting an actual hash table?


The hash function folds the keys onto an interval. Since you have  
Int values

k, you might just use a mod k n function for that.


If it's the
latter, I'm not certain where the array fits into the picture.  I'm
pretty sure I'm missing something here.


There is a module Data.HashTable. The array is just to make lookup  
fast.

Like in:
 ST s (STArray s HashKey (Map Key Value))


I was misunderstanding your intention here.  This is an interesting
approach, but I would still try an IntMap first.


A simple hash-function for strings is to simply exclusive-or the bytes  
and then reduce modulo a prime number, which will be the table size.  
The average lookup time complexity is the one of the hash table. You  
can then compare with the IntMap, which may have time complexity O(4),  
the number of bytes in an Int32.


There might be a big difference in the constant factor, though: an  
array seems to be much faster. I first made multivariate polynomial  
division using lists, because it is easy to work with, and an example  
of some stuff built on top took tens of seconds to run in Hugs. When  
reworking it using STArray (mutable) and Array (immutable), it has no  
noticeable delay.


Though I am using Map and Set, too, the choice of container seems  
otherwise be dictated by what is most convenient to program.


  Hans


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Haskell Weekly News: Issue 148 - January 31, 2010

2010-01-31 Thread jfredett

---
Haskell Weekly News
http://sequence.complete.org/hwn/20100131
Issue 148 - January 31, 2010
---
   Welcome to issue 148 of HWN, a newsletter covering developments in the
   [1]Haskell community.

   Hello Haskellers, this week begins with a correction. Last week, I
   noted a blogpost from one 'Bartek Paczesiowa', I was rapidly informed
   of the complete wrongness of this citation. In fact, Bartek's last name
   is, and I hope the Unicode makes it through here, 'wikowsk,' and
   Paczesiowa is his nickname. Apologies to Bartek, as penance I've reread
   your [2]excellent post on your blog. That said, this week's HWN if
   packed full of awesome potential naming errors, so I'll let you get to
   it. Thus, Haskellers, Your Haskell Weekly News!

Announcements

   haskell-src-exts-1.8.0. Niklas Broberg [3]announced a new release of
   haskell-src-exts.

   Elerea 1.2.3 with some enhancements. Patai Gergely [4]announced his
   addition of some new features to the experimental branch of his FRP
   library, Elerea.

   hakyll-1.3. Jasper Van der Jeugt [5]announced the release of hakyll
   1.3, including several new improvments and changes.

   ThreadScope 0.1. Satnam Singh [6]announced the release of Threadscope
   0.1, the premier graphical thread profiler.

   The Monad.Reader Issue 15. Brent Yorgey [7]announced the most recent
   issue of the Monad.Reader, a monthly publication of Haskell Related
   expostition and discusson articles.

   afv-0.1.0. Tom Hawkins [8]announced a afv-0.1.0, an infinite state
   model checker for verifying assertions about embedded C programs.

   adaptive-tuple 0.1.0. John Lato [9]announced the initial release of
   adaptive-tuple, his library for combining the space-efficient
   properties of tuples with the utility of lists.

   Job opportunities at Citrix Systems (Cambridge, UK). Matthias Goergens
   [10]announced a opportunity available at Citrix Systems in Cambridge,
   UK.

Discussion

   OT: Literature on translation of lambda calculus to combinators. Dusan
   Kolar [11]asked about texts regarding translating the untyped lambda
   calculus to a combinator calculus such as SKI or BCKW.

   Linguistic hair-splitting. Andrew Coppin [12]asked an interesting
   offtopic linguistic question about what we call a number, a field, an
   element, and a monad.

   Adopting hpodder? John Goerzen [13]asked if there were any interested
   adoptive maintainers for his hpodder project. This is an excellent
   opportunity for a Haskell Neophyte to help the community and learn
   about project management hopefully we can find hpodder a new
   maintainer!

Blog noise

   [14]Haskell news from the [15]blogosphere. Blog posts from people new
   to the Haskell community are marked with , be sure to welcome them!
 * Holumbus: [16]HolHac at FH-Wedel.
 * ++Arch Haskell Team++: [17]Arch Linux updates to GHC 6.12.
 * Neil Brown: [18]Exploring a Communicating Sequential Processes
   EDSL.
 * The GHC Team: [19]Yielding more improvements in parallel
   performance.

Quotes of the Week

 * Berengal: I'm going to write a module Hmm with a (.) operator in
   it, so I can go 'Hmm..' in my code
 * clarkb,: in CS they dont teach you to program...You learn Data
   Structures, Algorithms, Logic, Discrete Math, Language theory, etc
   and happen to pick up programming on the way
 * dons: hey i love core. i dream about unboxes
 * cale: Differential geometry is the study of manifolds under change
   of notation.
 * kmc: the irony being, the abstraction that gets the most
   complaining and general noise [from imperative programmers] is the
   one that captures imperative programming
 * kmc: i am Jack's monad operator
 * arw: ...and a basic law of haskell is, 50% of all documentation has
   to be monad tutorials :)
 * Cale: Here [#haskell], we feed trolls until they explode.
 * bartek: It took me 2 years of studying teachings of Oleg Kiselyov
   (who was raised among types, where he learned to speak their
   language), but finally, I have the solution.
 * kmc: I think 250 milliolegs is enough to kill an elephant
   olsner: ... to kill an elephant - in the type system!
 * syntaxglitch: every time I have a cool idea about something that
   might work in Haskell, I go check Oleg's stuff and find that
   1) he already did it
   2) thought it out better
   3) did it incidentally while working on something way more
   interesting
 * DRMacIver:: I dread to think what category theory would look like
   after the software engineering world had got their grubby paws on
   it. Enterprise variant functors. Commutative UML diagrams.

About the Haskell Weekly News

   New editions are posted to [20]the Haskell mailing list as well as to
   [21

[Haskell-cafe] HWN Issue 148 -- unicode error

2010-01-31 Thread Joe Fredette


Indeed, the Unicode only made it through my system, and not the mailer  
itself. In fact, the name should look something like Ćwikłowski,  
and not the garbled mess that made it through. Apologies again, Bartek!



/Joe___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Anyone recommend a VPS?

2010-01-31 Thread Alexander Solla


On Jan 31, 2010, at 12:02 PM, Michael Snoyman wrote:



I'm working with a client right now on deploying an app. I was  
wondering if anyone had some recommendations for a Haskell-friendly  
host. I'm inclined to go with a VPS for this setup, but if there's  
reliable shared hosting, that would do as well. This client is  
fairly price-sensitive, so I don't think anything past the $20/month  
range to start off with. The only other requirement for this project  
is PostgreSQL. As far as wants:


I use Linode, and it seems to meet your needs as stated.  Linux of  
your choice, $20/month, and you can run any software you run.  The  
only tricky issue is that you need to pin your OS's kernel to whatever  
Linode uses -- you can't just upgrade when your OS distributor updates.


I haven't used it for any business projects yet, so I can't really  
respond to its performance/scalability/enterprise-worthiness.  I  
intend to deploy a small project there soon, but might use Amazon EC2  
instead (depending on how much RAM it turns out Happstack really  
needs...)

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Anyone recommend a VPS?

2010-01-31 Thread Gregory Collins
Michael Snoyman mich...@snoyman.com writes:

 Hi all,

 I'm working with a client right now on deploying an app. I was
 wondering if anyone had some recommendations for a Haskell-friendly
 host.

I'm a happy linode customer: http://www.linode.com/

G
-- 
Gregory Collins g...@gregorycollins.net
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Anyone recommend a VPS?

2010-01-31 Thread Marc Weber
 I'm a happy linode customer: http://www.linode.com/
Me too. I tried different hosting services before. They all have there
strength. The linode shell is terrific!

If all you want is standard debian or such it does'nt matter. However I
tried installing NixOS Linux and I've had lot's of trouble until
switching to linode. NixOS was up and running within 30min then..

Marc Weber
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Anyone recommend a VPS?

2010-01-31 Thread Michael Snoyman
OK, I guess the unananimous opinion in linode ;). Thanks for the input
everyone!

Michael

On Sun, Jan 31, 2010 at 11:29 PM, Marc Weber marco-owe...@gmx.de wrote:

  I'm a happy linode customer: http://www.linode.com/
 Me too. I tried different hosting services before. They all have there
 strength. The linode shell is terrific!

 If all you want is standard debian or such it does'nt matter. However I
 tried installing NixOS Linux and I've had lot's of trouble until
 switching to linode. NixOS was up and running within 30min then..

 Marc Weber
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Anyone up for Google SoC 2010?

2010-01-31 Thread Malcolm Wallace
Google has announced that the Summer of Code programme will be running  
again this year.  If haskell.org people would like to take part again  
this year, then we need volunteers:


First,
* suggestions for suitable projects
  (in the past this was organised using a reddit)
* an administrator to co-ordinate the application to Google
  (I have done it for the last three years but am very willing
   to hand on to someone else)

Google will accept applications from organisations in the period 8th -  
12th March 2010, approx 1900UTC.


If haskell.org is accepted again, students can apply between 29th  
March - 9th April.

More volunteers will be required:

* to review student applications and choose which to accept
* to supervise the accepted students

Both of these roles are called mentor in the Google system.  Putting  
together a good team of mentors before applying as an organisation is  
helpful towards us being accepted into the programme.


Regards,
Malcolm

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Anyone up for Google SoC 2010?

2010-01-31 Thread Don Stewart
malcolm.wallace:
 Google has announced that the Summer of Code programme will be running  
 again this year.  If haskell.org people would like to take part again  
 this year, then we need volunteers:

 First,
 * suggestions for suitable projects
   (in the past this was organised using a reddit)
 * an administrator to co-ordinate the application to Google
   (I have done it for the last three years but am very willing
to hand on to someone else)

 Google will accept applications from organisations in the period 8th -  
 12th March 2010, approx 1900UTC.

Here are the top rated Haskell project ideas from reddit:

http://www.reddit.com/r/haskell_proposals/top/?t=all

Cafe'ers : Please add more! Vote! Comment!

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Anyone recommend a VPS?

2010-01-31 Thread MightyByte
Hi,

I'm also a happy linode customer.  However, my happstack app eats a
lot of memory.  I currently have plans to switch to prgmr.com because
their hosting plans give you much more RAM / dollar than any other
hosting company I've seen ($20 / month for a gig of RAM).

On Sun, Jan 31, 2010 at 4:37 PM, Michael Snoyman mich...@snoyman.com wrote:
 OK, I guess the unananimous opinion in linode ;). Thanks for the input
 everyone!

 Michael

 On Sun, Jan 31, 2010 at 11:29 PM, Marc Weber marco-owe...@gmx.de wrote:

  I'm a happy linode customer: http://www.linode.com/
 Me too. I tried different hosting services before. They all have there
 strength. The linode shell is terrific!

 If all you want is standard debian or such it does'nt matter. However I
 tried installing NixOS Linux and I've had lot's of trouble until
 switching to linode. NixOS was up and running within 30min then..

 Marc Weber
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe


 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Anyone recommend a VPS?

2010-01-31 Thread Tom Tobin
On Sun, Jan 31, 2010 at 3:37 PM, Michael Snoyman mich...@snoyman.com wrote:
 OK, I guess the unananimous opinion in linode ;). Thanks for the input
 everyone!

If it helps make your client even more comfortable: not only do I use
Linode for my personal VPS, but we use them at work to host some
fairly popular websites.  Our sysadmin absolutely loves them to death;
he's always raving about how easy our hosting is now since moving
there.  :-)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Greencard/c2hs + cabal

2010-01-31 Thread Maciej Piechotka
I have a problem with integrating cabal with greencard.

1. When I run build it creates:
src/Path/To/Module_stub_ffi.c
src/Path/To/Module_stub_ffi.h

instead of
dist/build/Path/To/Module_stub_ffi.c
dist/build/Path/To/Module_stub_ffi.h

2. I get the unknown symbols errors for symbols defined in stubs.

The problem is that I need to import the macros constants 

c2hs puts #c/#endc in header which is not compiled (and therefore
suffers from the same problems).

Is there any way to get the value of macro without having additional c
file?

Regards


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Anyone recommend a VPS?

2010-01-31 Thread Robert Wills
I use Webfaction.

http://www.webfaction.com/services/hosting

It's not a personal vps but you get ssh access and you can run any
webserver you want-- even a Haskell one:

http://wrwills.webfactional.com/2009/10/30/Haskell-on-a-Webfaction-Host

They support Postgres databases too.

It's cheaper than a vps (I'm paying $8.50 a month but you can pay as
little as $5.50), but possibly not as convenient.

-Rob

On Sun, Jan 31, 2010 at 11:05 PM, Tom Tobin korp...@korpios.com wrote:
 On Sun, Jan 31, 2010 at 3:37 PM, Michael Snoyman mich...@snoyman.com wrote:
 OK, I guess the unananimous opinion in linode ;). Thanks for the input
 everyone!

 If it helps make your client even more comfortable: not only do I use
 Linode for my personal VPS, but we use them at work to host some
 fairly popular websites.  Our sysadmin absolutely loves them to death;
 he's always raving about how easy our hosting is now since moving
 there.  :-)
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Anyone recommend a VPS?

2010-01-31 Thread Michael Snoyman
On Mon, Feb 1, 2010 at 7:08 AM, Robert Wills wrwi...@gmail.com wrote:

 I use Webfaction.

 http://www.webfaction.com/services/hosting

 It's not a personal vps but you get ssh access and you can run any
 webserver you want-- even a Haskell one:

 http://wrwills.webfactional.com/2009/10/30/Haskell-on-a-Webfaction-Host

 They support Postgres databases too.

 It's cheaper than a vps (I'm paying $8.50 a month but you can pay as
 little as $5.50), but possibly not as convenient.

 -Rob

 On Sun, Jan 31, 2010 at 11:05 PM, Tom Tobin korp...@korpios.com wrote:
  On Sun, Jan 31, 2010 at 3:37 PM, Michael Snoyman mich...@snoyman.com
 wrote:
  OK, I guess the unananimous opinion in linode ;). Thanks for the input
  everyone!
 
  If it helps make your client even more comfortable: not only do I use
  Linode for my personal VPS, but we use them at work to host some
  fairly popular websites.  Our sysadmin absolutely loves them to death;
  he's always raving about how easy our hosting is now since moving
  there.  :-)


Funny, I use a similar approach for my personal sites when I host them on
nearlyfreespeech. My one complaint is that they use FreeBSD instead of
Linux; if I found a webhost that let me compile straight from my Arch/Ubuntu
box, I'd be very happy. (I'm sure they exist, but now I'm kind of addicted
to nearlyfreespeech's cheap pricing...)

Thanks for the suggestion.

Michael
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe