Re: [Haskell-cafe] blanket license for Haskell Platform?

2011-10-25 Thread Antti-Juhani Kaijanaho
On Tue, Oct 25, 2011 at 06:37:49AM -0400, Eric Y. Kow wrote:
 - My user is concerned that a large number of having a large number of
   individual licenses even though textually identical modulo author,
   date, etc would mean a big hassle getting their lawyers and their
   user's lawyers to sign off on each and every license

Sounds like you need a single copyright holder, not a blanket license (whatever
that means).  That means arranging copyright transfers (in the FSF/GNU style)
and getting every contributor whose code survives in the Platform to sign off
on it.

In other words, it's a major undertaking and by no means assured to succeed.

-- 
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/


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


Re: [Haskell-cafe] Package documentation complaints -- and a suggestion

2011-10-24 Thread Antti-Juhani Kaijanaho
On Mon, Oct 10, 2011 at 09:06:01AM +0100, Paterson, Ross wrote:
 The distinction between synopsis and description is borrowed from the
 Debian package format:
 
 http://www.debian.org/doc/debian-policy/ch-binary.html#s-descriptions
 
 The two fields are aimed at different audiences.

Not in Debian.  The synopsis and description are a bit like the title and the
abstract of a scholarly paper: you might see a title without the abstract (and
it must work alone), but both are aimed at the same audience - people who are
unsure whether they should read the paper (install the package) and look for
information sufficient to decide that it's not what they need (or that it
probably is).

-- 
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/

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


Re: [Haskell-cafe] Learn You a Haskell for Great Good - a few doubts

2011-03-02 Thread Antti-Juhani Kaijanaho
On Thu, Mar 03, 2011 at 12:29:44PM +0530, Karthick Gururaj wrote:
 Thanks - is this the same unit that accompanies IO in IO () ? In
 any case, my question is answered since it is not a tuple.

It can be viewed as the trivial 0-tuple.

-- 
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/

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


Re: [Haskell-cafe] about beta NF in lambda calculus

2009-03-21 Thread Antti-Juhani Kaijanaho
On Sat, Mar 21, 2009 at 07:29:05PM +, Algebras Math wrote:
 If above is true, I am confused why we have to distinguish the terms which
 have NF and be in NF? isn't the terms have NF will eventually become in NF?
 or there are some way to avoid them becoming in NF?

Spoken like a mathematician :)  (Well, only sort of.)

The way to avoid it is not to perform the work of beta conversion.
Similarly, you may say that people are either dead or will eventually die, so
why distinguish between a person who is dead and a mortal, live person?

-- 
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Do I need an account to report build of Hacakgepackages?

2008-11-22 Thread Antti-Juhani Kaijanaho
On Sat, Nov 22, 2008 at 03:11:34PM -, Claus Reinke wrote:
 You only need an account for uploading packages. If you do not want to
 have to enter your user name or password interactively when you run
 cabal upload then you can put them in the config file:

 username:
 password:

 That sounds like a very bad idea, and should not be encouraged!

Agreed.  However...

 Any compromised uploader machine with stored passwords can
 be used to upload compromising code, which will propagate to all 
 downloaders.

It doesn't really matter whether a compromised machine stores a password or
not.  If you upload anything using a compromised machine, the attacker
has the opportunity to learn your password.

Also, Hackage doesn't use SSL/TLS, so compromising a machine isn't necessary
for learning Hackage passwords.

-- 
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Planet haskell

2008-06-23 Thread Antti-Juhani Kaijanaho
On Mon, Jun 23, 2008 at 06:51:09AM +0100, Jamie Brandon wrote:
 I was hoping to have my summer of code blog added to planet haskell
 but [EMAIL PROTECTED] no longer seems to exist. Hopefully
 the owner is subscribed to this list?

It exists but seems to be broken.  Thank you for letting me know.

In the mean time, just contact myself or Don Stewart.

--
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: GSoC project blogs? (Re: [Haskell-cafe] Planet haskell)

2008-06-23 Thread Antti-Juhani Kaijanaho
(I'd rather people did not send me copies of list posts.)

On Mon, Jun 23, 2008 at 02:40:27PM +0100, Claus Reinke wrote:
 It would be nice to have blogs for all Haskell GSoC projects
 on Planet Haskell.

Any such blogs would certainly qualify.  Authors should read
http://planet.haskell.org/policy.html - and while our alias address is
out of commission, send addition requests to me or Don Stewart.

-- 
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Functions are first class values in C

2007-12-24 Thread Antti-Juhani Kaijanaho
On Sat, Dec 22, 2007 at 05:25:26PM +0300, Miguel Mitrofanov wrote:
 That's not C.
 That's the C preprocessor, which is a textual substitution macro 
 language.

 Well, the preprocessor is part of the language in a way. These two come
 together.

 No. In fact, these are even two different programs, see man cpp.

No, in fact, preprocessing is an integral part of translating a C
program, see the standard.  The standard allows implementing the
translation phases 1-6 (the so-called preprocessing phases) as a
separate program, but there is no requirement to do that.

It is true, however, that preprocessing used to be (in pre-standard
days) separate from the language.  This has not been true for decades.

That said, this is all irrelevant to the question of whether C allows
first-class functions.  I'm sure we all are capable of writing Haskell
programs that do not have simple and readable translations to C :)

-- 
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Functions are first class values in C

2007-12-24 Thread Antti-Juhani Kaijanaho
On Mon, Dec 24, 2007 at 02:12:30PM +0300, Miguel Mitrofanov wrote:
  It is true, however, that preprocessing used to be (in pre-standard
  days) separate from the language.  This has not been true for decades.
 
 Well, I've seen cpp to be used as a preprocessor not for C sources but for 
 something else.

And I'm sure you've heard people cursing cpp for being too C centric :)
In any case, it doesn't matter.  The question was, if the C preprocessor
was part of the C language, not whether C is the only thing it's used
for.

-- 
Antti-Juhani Kaijanaho, Jyväskylä, Finland
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] gtk2hs in debian

2007-09-03 Thread Antti-Juhani Kaijanaho
On Mon, Sep 03, 2007 at 11:42:56AM +0200, Joachim Breitner wrote:
 Maybe someone here is interesting in being the debian package
 maintainer? I’d be able to sponsor the uploads.

I'm interested, but I'm also terribly busy.

If someone else wants it, I won't bother, but if not, I'll do it.

I'm a DD and I don't need sponsoring :)

-- 
Antti-Juhani Kaijanaho, Jyväskylä
http://antti-juhani.kaijanaho.fi/newblog/
http://www.flickr.com/photos/antti-juhani/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] The C Equiv of != in Haskell

2007-05-29 Thread Antti-Juhani Kaijanaho
On Tue, May 29, 2007 at 11:20:27AM +0100, David House wrote:
 Almost, (/=) :: Eq a = a - a.

Well, not quite :)  You forgot - Bool at the end :)

 (Just for completeness.)

Exactly :)

-- 
Antti-Juhani Kaijanaho, Jyväskylä
http://antti-juhani.kaijanaho.fi/newblog/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Newbie: Is ‘type’ synonym hiding two much?

2007-03-22 Thread Antti-Juhani Kaijanaho
On Thu, Mar 22, 2007 at 06:13:00PM +0300, Dmitri O.Kondratiev wrote:
 F :: a - b - c
 
 Is the same as:
 
 F :: a - (b - c)

Correcting the typo (use f, not F), these mean the same thing.

 And means either:
 
 -a function 'f' of one argument of type 'a' that returns a function of
 type (b - c), or it can also be interpreted as:
 -a function 'f' of two arguments of type 'a' and 'b' returning value of
 type 'c'

Yes.  The essential point to understand that these interpretations *are
the same*.

 Now, in the 17.5 section of a book one may see the following declarations:
 
 succeed :: b - Parse a b
 
 *Before looking at 'succeed' function definition* one may think that
 'succeed' is a function of *one* argument of type 'b' that returns object of
 type 'Parse a b'.

That's what it is.  However, without looking at the definition of 
Parse a b, you can't tell whether that is a function or not, and
therefore all you can say about succeed is that it takes *at least* one
argument.

 Then I do this substitution *myself as a Haskell runtime* and get in
 the result the following declaration of a * real
 function that Haskell runtime* works with:

I'm not sure why you feel the need to talk about runtime.  This all
happens at compile time.

 2. Should I search through main and imported modules for treacherous 'type'
 constructs?

They are not treacherous.  But yes, if you want to know what a type
stands for, you need to look it up.

The treacherous thing here is that in Haskell, returning a function is
the same as taking one more parameter.  This may feel strange at first,
but it is a very important idiom and you do need to learn to live with
it if you want to use Haskell.

 3. Where, in this case goes implementation abstraction principle? Why I must
 provide *all* the details about function argument type structure in order to
 understand how this function works?

type is just notational convenience.  If you want abstraction, use
newtype or data.


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


Re: [Haskell-cafe] Command line prompt templates

2006-11-23 Thread Antti-Juhani Kaijanaho
Donald Bruce Stewart wrote:
 Looks pretty good, though you use 
 
 case x :: Bool of
 True  - ...
 False - ...
 
 when
 if x then ... else ...
 
 would be preferred.

Why?  Personally, I find boolean case to feel better wrt layout and I see
no loss of clarity in its use.

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


Re: [Haskell-cafe] More documentation: how to create a Haskell project

2006-10-30 Thread Antti-Juhani Kaijanaho
Ketil Malde wrote:
 How to make cabal projects into distribution-specific (.deb, .rpm, and
 so on) packages? 

The answer for .debs is: ask a Debian developer (or a prospective
developer) to package it for you.

The reason is that to make a good .deb, one needs to be familiar with a lot
of Debian-specific policies and technologies.  If one is willing to invest
the time and effort to learn this, then it makes sense for one to apply to
become a Debian developer.  If not, then packaging is best left for someone
else.

-- 
Antti-Juhani Kaijanaho, Debian developer
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] [off-topic / administrative] List Reply-to

2006-10-11 Thread Antti-Juhani Kaijanaho
Robert Dockins wrote:
 I think (pure
 speculation) the haskell.org mail server is set up to omit people from
 mail it sends if they appear in the To: or Cc: of the original mail.

Yes, this is a feature of recent Mailmans.

 Finally, I agree that reply-to munging is a bad idea, but I don't think
 appealing to a definition of 'reasonable mailer' that doesn't match a
 large portion of mail clients currently in the wild is a good way to
 argue the point.

Gnus might have been the first one to have it, but mutt (very popular in
hackerdom) was perhaps the one that popularized it.  I am currently
using Mozilla Thunderbird, for which it is available as an extension
(unfortunately, it also requires a patch for Thunderbird; but Debian sid
has already applied it).

Still, when choosing between a poor hack (Reply-To munging) and the
right answer (fixing mailers to support reply-to-list), I know which I
prefer.  The former may be appropriate in mailing lists where the
audience consists solely of non-geeks (who might not be able to choose a
good mailer), but in technical lists, I see no need for it. If you
prefer a mail client that does not support the feature, bug your vendor
to add it.

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


Re: [Haskell-cafe] Is Haskell a 5GL?

2006-09-26 Thread Antti-Juhani Kaijanaho
Ch. A. Herrmann wrote:
 do you think that Haskell is a 3GL (third generation language) or a 5GL or
 that the hierarchy of programming language generations is useless?

I did a literature search on language generations a few years ago when I
was preparing the first incarnation of the local Principles of
Programming Languages course.  There were three findings:

1) I could not find where the idea comes from.
2) All sources agree what 1GL, 2GL and 3GL are.
3) There is no consensus on what 4GL and 5GL are.  (Different sources
define them completely differently.)

Hence, I just classify all current general-purpose languages as 3GL and
 consider the classification mostly meaningless for today's languages.


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


Re: [Haskell-cafe] Haskell.org down

2006-09-26 Thread Antti-Juhani Kaijanaho
Paul Hudak wrote:
 I had to reboot haskell this AM it was really hung. My first
 assumption is abuse by web crawlers. I have denied access to all web
 crawlers at the moment while I continue looking further into this
 and the load is staying low. I'll keep you posted.

I've seen this kind of behavior when some stupid referer spammers open
hundreds of connections at the same time, typically requesting some
dynamic resource, DDoSing the system.  I have installed an
iptables-based tar pit on my own server that seems to have solved the
problem.

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


Re: [Haskell-cafe] Writing forum software in Haskell

2006-09-25 Thread Antti-Juhani Kaijanaho
David House wrote:
 * What would be a compulsory feature list?

Ability to subscribe to forums by email and to post/followup by email.
Alternatively, or in addition, a two-way NNTP gateway.

(If you want us forum-allergic to participate in the discussions there,
that is.)


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


Re: [Haskell-cafe] iterative algorithms: how to do it in Haskell?

2006-08-16 Thread Antti-Juhani Kaijanaho
Tamas K Papp wrote:
 f is an a-a function, and there is a stopping rule 
 goOn(a,anext) :: a a - Bool which determines when to stop.  The
 algorithm looks like this (in imperative pseudocode):
 
 a = ainit
 
 while (true) {
   anext - f(a)
   if (goOn(a,anext))
a - anext
   else
  stop and return anext
 }
 
 For example, f can be a contraction mapping and goOn a test based on
 the metric.  I don't know how to do this in a purely functional
 language, especially if the object a is large and I would like it to
 be garbage collected if the iteration goes on.

The idea is to make the iteration variables arguments to a
tail-recursive function:

let foo a | goOn a anext = foo anext
  | otherwise= anext
where anext = f a
in foo ainit


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


Re: [Haskell-cafe] Why Not Haskell?

2006-08-09 Thread Antti-Juhani Kaijanaho

Albert Lai wrote:

Let's have a fun quiz!  Guess the mainstream languages in question:


Spoilers for the quiz




































0. What language would allow

  4[hello world]

   when a normal person would just write

  hello world[4]


This is a classic C misfeature.


1. What language, supporting a kind of both parametric polymorphism
   and subclass polymorphism, allows and actually features such a class
   declaration as

 class EnumT extends EnumT { ... }


I have to guess here. Java.


2. What language allows you to test primality in constant runtime?
   That is, move all the work to compile time, using its polymorphism.


C++, also a classic feature. There are even books that discuss this 
technique, and I believe a SPJ paper referring to it.

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


Re: [Haskell-cafe] [newbie] processing large logs

2006-05-14 Thread Antti-Juhani Kaijanaho

Eugene Crosser wrote:

Having read Yet another Haskell tutorial (note on p.20), doesn't foldl
have to read the complete list before it can start processing it
(beginning from the last element)?  As opposed to foldr that can fetch
elements one by one as they are needed?


They're complementary.

If the result is of a type where partial evaluation is possible (say, a 
list: between not evaluated and fully evaluated, there are as many 
intermediate stages of evaluation as there are elements in the list), 
then foldr is the better choice, as it constructs the output list (or 
whatever) lazily.  (You also need to make sure that the fold parameter 
function is lazy in the rest of output parameter.)


If the result is of a type that doesn't allow partial evaluation (an 
integer, for example: there is no intermediate stage between not 
evaluated and fully evaluated), or used in a context where laziness 
is not a virtue, then it pays to avoid laziness in its evaluation: hence 
foldl' is the better choice. (You also need to make sure that the fold 
parameter function is strict in the accumulator parameter.)


In elementary (nth-language) Haskell, one is generally trying to learn 
the stuff about Haskell that is *different* from conventional languages, 
so in elementary tutorials the rule of thumb foldr is better works. 
It's just one of the half-lies that people get told in elementary 
courses that one needs to augment in later stages of learning :)

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


Re: [Haskell-cafe] [newbie] processing large logs

2006-05-14 Thread Antti-Juhani Kaijanaho

Eugene Crosser wrote:

Anyway, I understand that you used 'seq' in your example as a way to
strictify the function that updates accumulator.  Could you (or
anyone) explain (in plain English, preferably:) the reason why 'seq' is
the way it is.  In the first place, why does it have the first argument
at all, and what should you put there?


seq returns its second argument without doing anything to it.  As a 
side-effect, it also evaluates (shallowly) its first argument.


So, first argument should be what you want to be evaluated, second is 
what you want seq to return.


Note that e `seq` e is useless; it does *not* force the evaluation of e 
before it would be evaluated in any case.



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


Re: [Haskell-cafe] The values of infinite lists

2006-05-10 Thread Antti-Juhani Kaijanaho

Deokhwan Kim wrote:

Are the values of infinite lists _|_ (bottom)?


Depends on what you mean by value.

If you define value to mean normal form, then yes.

If you define value to mean weak head normal form, then no.

The former is common in strict programming languages. In nonstrict 
functional programming, the latter is more useful.


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


Re: [Haskell-cafe] planet.haskell.org? for Haskell blogs

2006-03-28 Thread Antti-Juhani Kaijanaho

Antti-Juhani Kaijanaho wrote:
If you want your blog listed, email me. I will not add people without 
their consent.  Just tell me your RSS/Atom feed URI (try to pick one 
that will not contain non-English posts; but there is no need to 
restrict to just Haskell-related posts - half of the beauty is seeing 
what else people are doing and thinking).


Now at http://antti-juhani.kaijanaho.fi/planet-haskell/ . This is 
obviously a temporary address (somebody set up a proper Haskell DNS for 
this; I can configure this to answer a particular domain name).


Also, submit your feeds!


Now at http://planet.haskell.org. Please submit your feeds (see above).
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Eval of a syntax tree for reduction

2006-03-27 Thread Antti-Juhani Kaijanaho

Steve Downey wrote:
It makes eval1 a bit more complicated, and not as straightforward 
translation from the type system being described, though.

e.g reducing If looks more like

eval1 (TmIfExpr t1 t2 t3) =
let t1' = eval1 t1
in  case t1' of
{ Just t1'' - Just $ TmIfExpr t1'' t2 t3
; Nothing - Nothing
}


You should use the fact that Maybe is a monad:

eval1 (TmIfExpr t1 t2 t3) =
  do t1' - eval1 t1
 return $ TmIfExpr t1' t2 t3


and eval then looks like
eval t =
let t' = eval1 t
in case t' of
 { Just t'' - eval t''
 ; Nothing - t'
 }


(In the above, I suspect you need Nothing - t, no prime.)

BTW, there's no need to use let here:

eval t = case eval1 t of Just t' - eval t'
 Nothing - t


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


Re: [Haskell-cafe] planet.haskell.org? for Haskell blogs

2006-03-24 Thread Antti-Juhani Kaijanaho

Neil Mitchell wrote:

Hi

Is it possible to have an RSS feed for Planet Haskell? i.e. so I can
read all the Haskell related blogs with my feed reader without being
subscribed to all of them individually.


Now there is an RSS 2.0 and an Atom feed.


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


Re: [Haskell-cafe] planet.haskell.org? for Haskell blogs

2006-03-23 Thread Antti-Juhani Kaijanaho

Isaac Jones wrote:

There's already software out there for this, so nothing new needs to
be written.  I think we need a volunteer to set this up somewhere?
Preferably someone with their own server, and we'll worry about
setting up the DNS later :)


Since nobody else seems to have volunteered, I'll try to set this up (if 
I can get the software working).


If you want your blog listed, email me. I will not add people without 
their consent.  Just tell me your RSS/Atom feed URI (try to pick one 
that will not contain non-English posts; but there is no need to 
restrict to just Haskell-related posts - half of the beauty is seeing 
what else people are doing and thinking).



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


Re: [Haskell-cafe] planet.haskell.org? for Haskell blogs

2006-03-23 Thread Antti-Juhani Kaijanaho

Antti-Juhani Kaijanaho wrote:
Since nobody else seems to have volunteered, I'll try to set this up (if 
I can get the software working).


If you want your blog listed, email me. I will not add people without 
their consent.  Just tell me your RSS/Atom feed URI (try to pick one 
that will not contain non-English posts; but there is no need to 
restrict to just Haskell-related posts - half of the beauty is seeing 
what else people are doing and thinking).


Now at http://antti-juhani.kaijanaho.fi/planet-haskell/ . This is 
obviously a temporary address (somebody set up a proper Haskell DNS for 
this; I can configure this to answer a particular domain name).


Also, submit your feeds!
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] planet.haskell.org? for Haskell blogs

2006-03-23 Thread Antti-Juhani Kaijanaho

Cool, if you think you want to manage this, we can probably host it on
the hackage.haskell.org machine.  What would you think of that?


I can host this just fine, I just want a better URI for it :)


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


Re: [Haskell-cafe] planet.haskell.org? for Haskell blogs

2006-03-23 Thread Antti-Juhani Kaijanaho

Isaac Jones wrote:

Cool, if you think you want to manage this, we can probably host it on
the hackage.haskell.org machine.  What would you think of that?


On the other hand, if it's easier for others, I'm not going to insist on 
hosting it myself. The host requires Python 2.3, GNU Arch and crontab 
access.



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


Re: [Haskell-cafe] Records

2005-11-22 Thread Antti-Juhani Kaijanaho
Tomasz Zielonka wrote:
 Aren't C and C++ space insensitive (except the preprocessor)?

Literally, yes, because the C and C++ compilers proper take preprocessor
tokens, not strings, as input, and hence do not see the whitespace at
all; the whitespace-sensitive tokenization having been completed by the
preprocessor.  But I think that's splitting hairs, so my answer is: not
in the sense I was using that word. I don't know in what sense you use it.

(In a totally space insensitive language, andy and and y would be
tokenized the same way.)

Personally, I don't see how A.x vs. A . x is much different from that.
When using . as an operator, I separate it by spaces from the other
stuff. (Personally, I would even expect A.x, where A is not a module
name, to be an error in 98-esque Haskell, but it isn't.)
-- 
Antti-Juhani
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Records

2005-11-21 Thread Antti-Juhani Kaijanaho
Henning Thielemann wrote:
 Hence, spacing being significant is not Haskell-specific
 
 So Haskell is somehow BASICish -- how awful.

No, you got it backwards. I was contrasting a BASIC dialect as an
example of a space-*in*sensitive language to just about every modern
language, including Haskell.  In other words, Haskell was specifically
*not* like BASIC in my comparison.

I believe early FORTRAN is another example of a spacing-*in*sensitive
language comparable to that BASIC dialect, and *not* similar to Haskell.
-- 
Antti-Juhani
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Records

2005-11-19 Thread Antti-Juhani Kaijanaho
Ketil Malde wrote:
[about A.b and A . b potentially meaning different things:]
 Syntax that changes depending on spacing is my number
 one gripe with the Haskell syntax

I've generally considered that one of the good ideas in most current
languages (it's not specific to Haskell). ISTR there was a Basic dialect
where
  IFX=0THENX=X+1
and
  IF X = 0 THEN X = X + 1
meant the same thing. If that dialect had allowed multi-character
variable names (which I think it didn't), ANDY would have been parsed as
AND Y instead of the simple variable ANDY.

Hence, spacing being significant is not Haskell-specific and is
generally a good thing.

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


Re: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-13 Thread Antti-Juhani Kaijanaho
Sebastian Sylvan wrote:
 I'm wondering what incremental and moderate extension means? 

I don't know what others mean by it, but for me, it implies
standardizing existing practice, with possibly some conservative
redesign to get rid of any hysterical warts.

This is, BTW, what the C89 standard did for C, and it was a highly
successful standard.

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


Re: [Haskell-cafe] Specify array or list size?

2005-05-07 Thread Antti-Juhani Kaijanaho
On 20050507T093613-0700, Fergus Henderson wrote:
 On 07-May-2005, Hamilton Richards [EMAIL PROTECTED] wrote:
  As far as I know, the last programming language that included
  arrays' sizes in their types was Standard Pascal,
 
 There have been many such languages since Standard Pascal.  For
 example C, C++, C#, Java, Ada, VHDL, and NU-Prolog.

C, C++ and Java do not belong to that list.  I can't speak about the
others, not being very familiar with them.

In C and C++, the declaration int n[50]; introduces an array variable
with size 50 having the type array of int.  The size is *not* part of
the type.  In Java, the array size is not given in the declaration at
all (instead, it is given in the new expression), and is not part of the
type.
-- 
Antti-Juhani Kaijanaho  http://antti-juhani.kaijanaho.info/

Blogi - http://kaijanaho.info/antti-juhani/blog/
 Toys - http://www.cc.jyu.fi/yhd/toys/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Specify array or list size?

2005-05-07 Thread Antti-Juhani Kaijanaho
On 20050507T203246+0200, Marcin 'Qrczak' Kowalczyk wrote:
  In C and C++, the declaration int n[50]; introduces an array variable
  with size 50 having the type array of int.  The size is *not* part of
  the type.
 
 No, it introduces a variable of type array of 50 ints, which can be
 converted to pointer to int.

ISO 9899:1999 (C99) section 6.7.5.2:3 says that its type is array of
int, not array of 50 ints:

  If, in the declaration ``T D1'', D1 has one of the forms:
 D[ type-qualifier-listopt assignment-expressionopt ]
 D[ static type-qualifier-listopt assignment-expression ]
 D[ type-qualifier-list static assignment-expression ]
 D[ type-qualifier-listopt * ]
  and the type specified for ident in the declaration ``T D'' is ``
  derived-declarator-type-list T '', then the type specified for ident
  is ``derived-declarator-type-list array of T ''.121) (See 6.7.5.3 for
  the meaning of the optional type qualifiers and the keyword static.)

  121) When several ``array of'' specifications are adjacent, a
  multidimensional array is declared.

 It matters when you make a pointer of such arrays, an array of such
 arrays, or sizeof such array. In C++ the size can be matched by
 template parameter, and you can have separate overloadings for
 separate array sizes.

For C, in all those cases, the array size is a property of the variable,
not of the type. 
-- 
Antti-Juhani Kaijanaho  http://antti-juhani.kaijanaho.info/

Blogi - http://kaijanaho.info/antti-juhani/blog/
 Toys - http://www.cc.jyu.fi/yhd/toys/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Specify array or list size?

2005-05-07 Thread Antti-Juhani Kaijanaho
On 20050507T120430-0400, Daniel Carrera wrote:
 I think it's because there's no real reason for someone to think that 
 the words list and array might not be synonims. I certainly don't 
 seen a linguistic distinction. Either term refers to an ordered 
 collection of items.

I don't even know what array means outside of programming (but then
again, English is not my native language).  However...

It is dangerous for anyone to infer the meaning of a technical term
based on the common meaning of the word.  The common meaning usually
helps in *remembering* the technical meaning, but that comes *after*
finding out what the technical meaning is.  This applies in any
technology or science, not just Haskell programming or programming in
general.

 Suppose that you learn a new computer language, and it happens to assign 
 special meanings to the words collection and group.

Those terms have a lot of meanings in technical jargon.

 You don't know this. So you start talking about groups as you do in
 every day English and people tell you that you're mixing up concepts.

Your mistake is the start talking about groups as you do in every day
English part.

 I guess that a more likely example in programming would be a language 
 that differentiates between functions, procedures and subroutines.

Well, most languages use function contrary to the everyday meaning of
the word.  Even functional in functional programming does not mean
what you'd think it means.  (Anybody else heard people shout But C *is*
a functional language!? - And I'm not talking about geeks who use the
FP style in C:)

-- 
Antti-Juhani Kaijanaho  http://antti-juhani.kaijanaho.info/

Blogi - http://kaijanaho.info/antti-juhani/blog/
 Toys - http://www.cc.jyu.fi/yhd/toys/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Specify array or list size?

2005-05-07 Thread Antti-Juhani Kaijanaho
On 20050507T212832+0200, Marcin 'Qrczak' Kowalczyk wrote:
  ISO 9899:1999 (C99) section 6.7.5.2:3 says that its type is array of
  int, not array of 50 ints:
 
 Ok, so in C terminology type is different from most statically typed
 languages in this respect. The dimension is used together with the
 type to determine static properties, and 6.7.5.2:4 says:
 
[#4]  For  two array types to be compatible, both shall have

Actually, that's 6.7.5.2:6.  It is the only place where array size is
truly used as part of the type.  In all other contexts, it is easily
interpretable as a property of the variable, and since the size of the
array is not otherwise used as a type attribute, it is fair to say that
it is not really a type attribute.  (Not in the Pascal sense, in any
case.)

 In both languages lvalueness is also not considered a part of the type
 but an alternative language presentation could use a wording where it is.

There are always alternative ways to present a language.

-- 
Antti-Juhani Kaijanaho  http://antti-juhani.kaijanaho.info/

Blogi - http://kaijanaho.info/antti-juhani/blog/
 Toys - http://www.cc.jyu.fi/yhd/toys/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe