Re: [Haskell-cafe] blanket license for Haskell Platform?
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
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
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
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?
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
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)
(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
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
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
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
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?
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
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
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
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?
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
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
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?
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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?
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?
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?
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