[Haskell-cafe] ANN: E-book version of the Typeclassopedia

2013-10-04 Thread Erlend Hamberg
While re-reading Brent Yorgey's Excellent Typeclassopedia I converted it
to Pandoc Markdown in order to be able to create an EPUB version. Having
a “real” e-book meant that I could comfortably read it on my e-book
reader and highlight text and take notes while reading. I also fixed
some minor issues while reading it. (These fixes were of course
backported to the official Typeclassopedia version on the Haskell Wiki.)

The EPUB file can be downloaded from Github:

https://github.com/ehamberg/typeclassopedia-md/releases

The Markdown source is also available in that repo and you can of course
use Pandoc to convert the Markdown file to all the other output formats
Pandoc supports.

By using a program like Calibre, the EPUB file can be converted to other
e-book formats such as the Kindle format.

I hope people find this useful. :-)

-- 
Erlend Hamberg
ehamb...@gmail.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskell syntax/indentation for vim

2013-03-04 Thread Erlend Hamberg
Hi,

I wrote a Haskell indenter for Haskell for the Kate editor a few years ago,
which – if I remember correctly – worked quite well. It's quite simple and
doesn't try to bee *too* clever, but has some logic for when it should
dedent. Not sure if it's helpful, but you could have a look (it's
well-commented javascript):

https://projects.kde.org/projects/kde/kde-baseapps/kate/repository/revisions/master/entry/part/script/data/indentation/haskell.js

Erlend


On 4 March 2013 09:40, Tristan Ravitch travi...@cs.wisc.edu wrote:

 I like automatic outdenting too, but I only came up with three cases
 where I felt like I could do it reliably:

  * With let/in as you described
  * After a catchall case:

case ... of
  C1 - ...
  C2 - ...
  _ - ...
-- dedent back to here

  * And similarly after a do block ending in a return

 Even that last one is slightly questionable, I feel, but probably works
 for almost all cases.  Are there any others?

 On Mon, Mar 04, 2013 at 12:20:12PM -0500, Dan Doel wrote:
  I hadn't seen this before, but I tried it out, and the parts I'm
 interested
  in are nice. The indenting is less flaky than what I was using before
  (comments had issues).
 
  If you're rewriting things, though, it'd be nice to be able to customize
  indentation a little more. For instance, I like laying out ifs like:
 
  if foo
then bar
else baz
 
  But I like to lay out wheres as:
 
  foo = ...
   where
   bar = ...
 
  But both the indents here are based on shiftwidth, so they're tied
 together.
 
  Another 'nice to have' would be some intelligent outdenting. For
 instance,
  if you type a let block right now:
 
  let foo = zig
  bar = zag
  in ...
 
  That's what you'll get. It'd be nice if typing the 'in' snapped back to
 the
  let. I know it's possible to implement something like this, because the
  scala indentation mode I use frequently outdents when I type '=' (which
  annoys the hell out of me, because it's almost never correct), but I
 don't
  know if it can be done intelligently enough to be useful (which would be
  important). Something to keep in mind, though.
 
  -- Dan
 
 
  On Sun, Mar 3, 2013 at 9:48 AM, dag.odenh...@gmail.com 
  dag.odenh...@gmail.com wrote:
 
   I see now in your README that you have seen vim2hs.  I'd love to hear
 what
   you disliked about it, especially given my plan to rewrite the whole
 thing
   [1]! :)
  
   [1] https://github.com/dag/vim2hs/issues/45
  
  
   On Sun, Mar 3, 2013 at 3:38 PM, dag.odenh...@gmail.com 
   dag.odenh...@gmail.com wrote:
  
   Hi
  
   Have you seen vim2hs?
  
   https://github.com/dag/vim2hs
  
  
   On Sat, Mar 2, 2013 at 9:11 PM, Tristan Ravitch travi...@cs.wisc.edu
 wrote:
  
   Cafe,
  
   I've recently been playing with vim and wasn't quite satisfied with
 the
   existing syntax highlighting and indentation, so I thought I'd try my
   hand at a new Haskell mode:
  
   https://github.com/travitch/hasksyn
  
   It is minimal in that it doesn't provide support for running external
   commands over code or anything fancy.  It just does syntax
 highlighting
   and reasonably-smart indentation.  There is no support for literate
   Haskell since supporting both with one mode is very tricky.
  
   It might be useful to some people.  Comments, bug reports, and
   suggestions
   welcome.
  
   ___
   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




-- 
Erlend Hamberg
ehamb...@gmail.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unbelievable parallel speedup

2011-06-03 Thread Erlend Hamberg
On 3 June 2011 16:14, Yves Parès limestr...@gmail.com wrote:
 I am interested: where I this tutorial?

https://github.com/simonmar/par-tutorial

-- 
Erlend Hamberg
ehamb...@gmail.com

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


[Haskell-cafe] IPv6 issues for (code|community).haskell.org?

2011-03-09 Thread Erlend Hamberg
Hi,

When I wanted to get the newest xmonad code from darcs today¹ it was
really, really slow.  Running “host” revealed that code.haskell.org is
an alias for community.haskell.org and that it has an IPv6 address
associated with it.  Being on an IPv6 network, and having been burnt by
similar problems before, I tried adding IPv4 address for
code.haskell.org in /etc/hosts in order to force the connection to
happen over IPv4. This fixed the issue and “darcs get” now takes a few
minutes.

I just wanted to alert people in case the problem is at the server end.
(And in case this isn’t just a temporary problem.)

Connecting to code.haskell.org in a Web browser also takes minutes,
while e.g. http://ipv6.google.com/ works perfectly.

[1] With “darcs get http://code.haskell.org/xmonad”

-- 
Erlend Hamberg
ehamb...@gmail.com

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


Re: [Haskell-cafe] redirecting cabal-install from /tmp

2010-04-17 Thread Erlend Hamberg
On Sunday 18. April 2010 00.49.28 Ivan Lazar Miljenovic wrote:
 Except I think Chris wants to be able to specify a directory, since
 other applications would probably want to keep using /tmp for TMPDIR.

alias cabal=TMPDIR=/foo cabal

-- 
Erlend Hamberg
“Everything will be ok in the end. If it's not ok, it's not the end.”
GPG/PGP:  0xAD3BCF19
45C3 E2E7 86CA ADB7 8DAD 51E7 3A1A F085 AD3B CF19


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] Announce: hothasktags

2010-04-06 Thread Erlend Hamberg
On Thursday 1. April 2010 22.46.47 Luke Palmer wrote:
 I'd like to draw attention to a little script I wrote.  I tend to use
 qualified imports and short names like new and filter.  This makes
 hasktags pretty much useless, since it basically just guesses which
 one to go to.  hothasktags is a reimplementation of hasktags that uses
 haskell-src-exts to analyze the import structure to generate (scoped)
 tags pointing to the right definition.  I'm pretty addicted to it,
 since it provides the only functionality I miss from visual studio

Thanks for this. Seems to be working very nicely. :-)

-- 
Erlend Hamberg
“Everything will be ok in the end. If its not ok, its not the end.”
GPG/PGP:  0xAD3BCF19
45C3 E2E7 86CA ADB7 8DAD 51E7 3A1A F085 AD3B CF19
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] OpenSUSE 11.2

2010-02-24 Thread Erlend Hamberg
On Wednesday 24. February 2010 21.47.56 Andrew Coppin wrote:
 no ammount of prodding YaST will convince it that 
 it's possible to install anything remotely Haskell-related

if you open the software manager and go to configuration → repositories, you 
should be able to add new software sources. i use the following repository:

Server name: download.opensuse.org
Directory: /repositories/devel:/languages:/haskell/openSUSE_11.2/

This repository contains GHC 6.12, alex, happy, etc.

-- 
Erlend Hamberg
“Everything will be ok in the end. If its not ok, its not the end.”
GPG/PGP:  0xAD3BCF19
45C3 E2E7 86CA ADB7 8DAD 51E7 3A1A F085 AD3B CF19


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] Lazy evaluation/functions

2009-12-27 Thread Erlend Hamberg
On Sunday 27. December 2009 14.16.15 michael rice wrote:
 I've seen the terms lazy evaluation and lazy function. Is this just
  lazy language or are both these terms valid?

In some languages, like Oz, one can have lazy functions even though the 
default is evaluation strategy is an eager one. In cases like that it is 
convenient to call those functions “lazy functions”.
-- 
Erlend Hamberg
Everything will be ok in the end. If its not ok, its not the end.
GPG/PGP:  0xAD3BCF19
45C3 E2E7 86CA ADB7 8DAD 51E7 3A1A F085 AD3B CF19


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] Haskell Weekly News: Issue 142 - December 13, 2009

2009-12-13 Thread Erlend Hamberg
Hi,

First and foremost; thanks for your work on the HWN. It is greatly 
appreciated. :)

Just a quick tip:

On Monday 14. December 2009 00.45.29 jfred...@gmail.com wrote:
 Until next week, Haskeller's, […]
 why we Haskeller's […]

Both of these refer to many “haskellers” – no apostrophe should be put before 
the ‘s’ as that would mean *one* haskeller having something. (“A haskeller's 
best friend”.)

-- 
Erlend Hamberg
Everything will be ok in the end. If its not ok, its not the end.
GPG/PGP:  0xAD3BCF19
45C3 E2E7 86CA ADB7 8DAD 51E7 3A1A F085 AD3B CF19


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