/
Simon
From: Haskell-prime On Behalf Of Anthony
Clayden
Sent: 06 October 2018 04:19
To: Petr Pudlák
Cc: haskell-prime@haskell.org
Subject: Re: A question about run-time errors when class members are undefined
On Sat, 6 Oct 2018 at 9:47 AM, Petr Pudlák
mailto:redir...@vodafone.co.nz>> wrote:
Am 08.10.2018 um 11:21 schrieb Anthony Clayden:
> I wonder how different would have been the history of Haskell if Wadler had
> not borrowed the terminology "class" and "method". Since Helium has a focus
> on Haskell learners/beginners: I wonder how much confusion we might have
> saved those
Am 06.10.2018 um 05:18 schrieb Anthony Clayden:
> On Sat, 6 Oct 2018 at 9:47 AM, Petr Pudlák wrote:
> such as the important laws between `return` and `>>=`. And then for example
>> a class with just `return` doesn't give any information what `return x`
>> means or what should be its properties.
Thank you Carlos, but oh dear
this is fast becoming as exasperating as the github rounds.
We've been talking about modular/scoped instances.
All of a sudden you've introduced MPTCs, which nobody even mentioned.
And you have a definition of "reachable" which is not GHC's definition:
'"reachable"
Hi.
A concise proposal for the introduction of MPTCs in Haskell follows.
A similar ghc-proposal has been written before, but without success
(certainly it would be better if some experimentation in ghc was done
first, as Carter suggested). The proposal is based essentially on the
following (1.
On Mon, 8 Oct 2018 at 8:41 PM, Simon Peyton Jones wrote
You may be interested in Carlos Camarao’s interesting work. For a long
> time now he has advocated (in effect) making each function into its own
> type class, rather that grouping them into classes. Perhaps that is in
> line with your
ell language standard any time soon.
> >
> > if you want to make a case for it, demonstrate its utility, this
> > mailing list isn't for that. Especially for something that
> > fundamentally changes the programming model of the language in
> > question in a way that isn't compatible
&
his
mailing list isn't for that. Especially for something that
fundamentally changes the programming model of the language in
question in a way that isn't compatible
merry adventures!
-Carter
On Mon, Oct 8, 2018 at 8:47 PM Carlos Camarao
wrote:
Hi.
Thanks Carlos. I wish I could say thank yo
of the language in question in a way that isn't
compatible
merry adventures!
-Carter
On Mon, Oct 8, 2018 at 8:47 PM Carlos Camarao
wrote:
> Hi.
>
> > Thanks Carlos. I wish I could say thank you for clarifying, but I'm
> > afraid this is as muddled as all the comments on the two proposal
Hi.
> Thanks Carlos. I wish I could say thank you for clarifying, but I'm
> afraid this is as muddled as all the comments on the two proposals.
>
> I don't want to go over it again. I just want to say that my
> suggestion earlier in the thread is fundamentally different.
>
>>Global instance
Em 2018-10-08 06:21, Anthony Clayden escreveu:
On Mon, 8 Oct 2018 at 8:41 PM, Simon Peyton Jones wrote:
You may be interested in Carlos Camarao’s interesting work. For a
long time now he has advocated (in effect) making each function into
its own type class, rather that grouping them into
oaded function".
AntC
*From:* Haskell-prime *On Behalf
Of *Anthony
> Clayden
> *Sent:* 06 October 2018 04:19
> *To:* Petr Pudlák
> *Cc:* haskell-prime@haskell.org
> *Subject:* Re: A question about run-time errors when class members are
> undefined
>
>
>
>
>
You're implicitly arguing that no language should have support for
declaring informal intentions. That's rather more controversial than you
might think and it's worth separating out as a subject.
The fact you cheerfully talk about making return and bind inherently
related via superclass
On Sat, 6 Oct 2018 at 9:47 AM, Petr Pudlák wrote:
>
> IIRC one of the arguments against having many separate classes is that a
> class is not a just set of methods, it's also the relations between them,
>
Hi Petr, I was talking about splitting out Haskell's current class
hierarchy as a step
On Fri, 5 Oct 2018 at 9:00 PM, Jurriaan Hage wrote:
>
> We first go the slavish route, to provide a basis for changing things
> later.
Ah. That comment seemed strange, but I've just read up on Helium: you're
aiming to provide a beginners' environment for Haskell.
Then without type classes,
Hi everyone,
IIRC one of the arguments against having many separate classes is that a
class is not a just set of methods, it's also the relations between them,
such as the important laws between `return` and `>>=`. And then for example
a class with just `return` doesn't give any information what
On Fri, 5 Oct 2018 at 9:00 PM, Jurriaan Hage wrote:
>
> We first go the slavish route, to provide a basis for changing things
> later.
>
> So I am not looking for alternative ways of doing this, I am just
> wondering whether there is a rationale for doing things this way.
> The document does not
Hi Anthony,
We first go the slavish route, to provide a basis for changing things later.
So I am not looking for alternative ways of doing this, I am just wondering
whether there is a rationale for doing things this way.
The document does not give one.
And now I hear that records suffer from
> We are adding classes and instances to Helium.
> We wondered about the aspect that it is allowed to have a class instance
> of which not all fields have a piece of code/value associated with them, ...
I have a suggestion for that. But first let me understand where you're
going with Helium.
This and the fact that you may leave record fields unspecified when
initially constructing a record are two things I'd probably change if I
could. In the rare case of a class with a method that will usually be an
error, you could still define that as the default method implementation in
the class.
Hello,
We are adding classes and instances to Helium.
We wondered about the aspect that it is allowed to have a class instance
of which not all fields have a piece of code/value associated with them, and
that as a result when you happen to call these, a run-time error results.
(see Sec. 4.3.2
On 04.10.2016 19:09, Iavor Diatchki wrote:
> Now that we've started with a few proposal, I am realizing that I have no idea
> how to proceed from here.
> 1. How would I request I proposal to be rejected
I think we should be discussing things, rather than inventing too many
processes.
The number
Does this GitHub feature help: https://github.com/haskell/rfcs/projects/1
After a proposal is accepted, then an individual (or small group) needs to
write up the changes to the Report, which should then also go back through the
larger committee.
And I’ll amplify some of Mario’s questions:
>
On 2016-10-04 01:09 PM, Iavor Diatchki wrote:
Hello,
Now that we've started with a few proposal, I am realizing that I have
no idea how to proceed from here. In particular:
1. How would I request I proposal to be rejected
2. How would I request that a proposal be accepted
I don't know if
Hello,
Now that we've started with a few proposal, I am realizing that I have no
idea how to proceed from here. In particular:
1. How would I request I proposal to be rejected
2. How would I request that a proposal be accepted
Ideas?
-Iavor
___
On 28 August 2016 at 22:40, <cc...@web.de> wrote:
> This is Leksah http://leksah.org/
> Please excuse my false name for it
> And the Question is why can I install it.
What error messages do you have when you try?
From here, this is what you need to do:
https://github.com/lek
This is Leksah http://leksah.org/
Please excuse my false name for it
And the Question is why can I install it.
excuse me.
Mungo1981
Gesendet: Sonntag, 28. August 2016 um 13:49 Uhr
Von: "Ivan Lazar Miljenovic" <ivan.miljeno...@gmail.com>
An: cc...@web.de
Cc: "H
I not know what should I do
Which question?
What is Laska that you're having trouble installing it?
>
> Mungo1981
>
> ___
> Haskell mailing list
> Haskell@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell
>
Ok Haskell is good.
Ok Laska is great.
And my Ubuntu Studio ist rubish
So I try to install Laska on Ubuntu Studio
But when I do this, i will get a long list of dependecies
which could not reallise
So I not know what should I do
Mungo1981
___
Am Montag, 19. Januar 2015, 23:32:09 schrieben Sie:
On Mon, Jan 19, 2015 at 11:14 PM, Volker Wysk vertei...@volker-wysk.de
wrote:
I've uploaded my library to Hackage, and now I'm trying to install it via
cabal:
At a guess, the index has not yet been updated --- you may need to wait
some
Am Dienstag, 20. Januar 2015, 05:14:15 schrieb Volker Wysk:
~/src/hsshellscript $ cabal install
Oops, this should be cabal install hsshellscript-3.3.3, not just cabal
install:
~/src/hsshellscript $ cabal install hsshellscript-3.3.3
Resolving dependencies...
All the requested packages are
Hi!
I've uploaded my library to Hackage, and now I'm trying to install it via
cabal:
~/src/hsshellscript $ cabal install
Resolving dependencies...
In order, the following will be installed:
hsshellscript-3.3.3 (reinstall)
Warning: Note that reinstalls are always dangerous. Continuing anyway...
On Mon, Jan 19, 2015 at 11:14 PM, Volker Wysk vertei...@volker-wysk.de
wrote:
I've uploaded my library to Hackage, and now I'm trying to install it via
cabal:
At a guess, the index has not yet been updated --- you may need to wait
some time (might be as short as an hour) before trying to
My understanding of OutsideIn leads me to believe that GHC 7.8 has the behavior
closer to that spec. See Section 5.2 of that paper
(http://research.microsoft.com/en-us/um/people/simonpj/Papers/constraints/jfp-outsidein.pdf),
which is a relatively accessible explanation of this phenomenon.
Given the following code:
{-# LANGUAGE GADTs #-}
data Any a where
AInt :: Int - Any Int
-- demo 1 does not compile
{-
demo1 a = do case a of
(AInt i) - print i
Couldn't match expected type ‘t’ with actual type ‘IO ()’
‘t’ is untouchable
inside the constraints (t1 ~ Int)
I just hit a similar error the other day. I think the gist of it is that
there are two perfectly good types, and neither is more general than the
other. A slightly different example shows why more clearly:
foo (AInt i) = (3 :: Int)
Now, what type should this have?
foo :: Any a - a
foo :: Any
Hi.
Daniel is certainly right to point out general problems with GADT
pattern matching and principal types. Nevertheless, the changing
behaviour of GHC over time is currently a bit confusing to me.
In GHC-6.12.3, Doaitse's program fails with three errors (demo1,
demo2, demo4, all the GADT
(Cross-posted from Haskell-Café)
I don't know if this is the best forum to ask questions about the
OutsideIn(X) paper that lies below type inference in GHC. Any way, I sent
it to Haskell-café and was advised to send it here also.
My question related about the proof of soundness and principality
If you use cpphs as a library, there is an API called runCpphsReturningSymTab.
Thence you can throw away the actual pre-preprocessed result text, keep only
the symbol table, and lookup whatever macros you wish to find their values. I
suggest you make this into a little code-generator, to
Thanks for your answer, looks like this is my only option to do this.
Can you provide some information about what does parameters of
runCpphsReturningSymTab stands for? I made several attempts but
couldn't get any useful return value.
For example, I have no idea what does third parameter does.
Have you looked into using hsc2hs? If I understand your problem, it's
designed exactly to solve it.
--
Carl
On Mon, Oct 7, 2013 at 12:20 PM, Ömer Sinan Ağacan omeraga...@gmail.comwrote:
Thanks for your answer, looks like this is my only option to do this.
Can you provide some information
Carl, thank you very much. This is exactly what I was looking for, and
it solved my problem in 5 minutes.
What's awesome is that when Cabal finds a .hsc file it automatically
calls this tool. Great.
Thanks again.
---
Ömer Sinan Ağacan
http://osa1.net
2013/10/8 Carl Howells
Hi all,
Let's say I want to #include a C header file in my Haskell library
just to read some macro definitions. The C header file also contains
some C code. Is there a way to load only macro definitions and not C
code in #include declarations in Haskell?
What I'm trying to do is I'm linking my
Hi all,
As a new user of arch-haskell, I would just like to put the question out
there: What is the point of arch-haskell, vs using cabal? Is it simply
for the elegance of using a single package manager (pacman) for all
packages on my system (Haskell-related and not) or is there some other
One version of the answer to your question can be found here:
https://ivanmiljenovic.wordpress.com/2010/03/15/repeat-after-me-cabal-is-not-a-package-manager/
On Mon, Sep 23, 2013 at 10:29 AM, Dawid Loubser dawid.loub...@ibi.co.zawrote:
Hi all,
As a new user of arch-haskell, I would just like
version of the answer to your question can be found here:
https://ivanmiljenovic.wordpress.com/2010/03/15/repeat-after-me-cabal-is-not-a-package-manager/
On Mon, Sep 23, 2013 at 10:29 AM, Dawid Loubser
dawid.loub...@ibi.co.za wrote:
Hi all,
As a new user of arch
On Mon, Sep 23, 2013 at 12:06:19PM +0200, Dawid Loubser wrote:
I have to admit, cabal-install has generallly just worked for me
(as an amateur starting out with Haskell), whereas arch-haskell has
often incurred failures when building. I am going to try again from
a clean sheet, and if I still
-Jones [mailto:simo...@microsoft.com]
Sent: dinsdag 10 september 2013 14:19
To: Holzenspies, P.K.F. (EWI)
Cc: glasgow-haskell-users@haskell.org
Subject: RE: Question about correct GHC-API use for type checking (or zonking,
or tidying)
What goes wrong if you follow my suggestion below
Thanks for the reference, but GHC already invokes the CPP.
I think I am going to have to invoke a load of the module with ghc flags
set to keep the output of the CPP phase, and then re-invoke it on that
output to get the tokens.
My question is more whether this CPP output can be kept in the GHC
you need to run a preprocessor on it to remove the directives
On Tue, Sep 10, 2013 at 4:03 PM, AlanKim Zimmerman alan.z...@gmail.comwrote:
Hi Cafe
I have just discovered that GHC.getTokenStream fails if it is used on a
module with CPP directives in it.
This is reported in
On Tue, 10 Sep 2013 22:03:16 +0200, AlanKim Zimmerman
alan.z...@gmail.com wrote:
Is there an easy way to get access to the pre-processed source, without
having to explicitly write it to an output file in a temporary location?
You can run cpp with function readProcess, as done in function
On Wed, 11 Sep 2013 00:54:07 +0200, Henk-Jan van Tuyl hjgt...@chello.nl
wrote:
Another option could be the cpphs package; the documentation has
disappeared from haskell.org, but can be found in the Web Archive[0].
I just found the latest documentation at
http://code.haskell.org/cpphs/docs/
Hi Cafe
I have just discovered that GHC.getTokenStream fails if it is used on a
module with CPP directives in it.
This is reported in http://ghc.haskell.org/trac/ghc/ticket/8265
Is there an easy way to get access to the pre-processed source, without
having to explicitly write it to an output
...@utwente.nl [mailto:p.k.f.holzensp...@utwente.nl]
Sent: 03 September 2013 14:18
To: Simon Peyton-Jones; glasgow-haskell-users@haskell.org
Subject: RE: Question about correct GHC-API use for type checking (or zonking,
or tidying)
Dear Simon, et al,
I had a chance to try it now. The strange thing
; glasgow-haskell-users@haskell.org
Subject: Re: Question about correct GHC-API use for type checking (or zonking,
or tidying)
I feel so unbelievably ignorant now. I thought with all the IORefs in the type
checking process that zonking did this in these refs. Somehow I started
thinking that some
...@utwente.nl,glasgow-haskell-users@haskell.org
Subject: RE: Question about correct GHC-API use for type checking (or zonking,
or tidying)
Haskell is a *functional* language. Consider
say $ pre-zonk: ++ pp all_expr_ty
zonkTcType all_expr_ty
say $ post-zonk: ++ pp all_expr_ty
pp
to.
Hope this helps
Simon
| -Original Message-
| From: Glasgow-haskell-users [mailto:glasgow-haskell-users-
| boun...@haskell.org] On Behalf Of p.k.f.holzensp...@utwente.nl
| Sent: 29 August 2013 14:42
| To: glasgow-haskell-users@haskell.org
| Subject: Question about correct GHC-API use for type
Dear GHC-ers,
I'm working on building an interactive environment around the composition of
expressions. Users can type in (i.e. give strings of) expressions and can then
use these expressions to produce other expressions. I'm close to having a
working GHC-API binding for this. The resulting
ByteStrings using Data.Binary.runPut. I then write this bytestring to a
socket using Network.Socket.ByteString.Lazy.
My question is this, if the Map object doesn't change (no updates) when it
serializes the same document to the socket 2x in a row, does it re-evaluate
the whole BSON value and convert
to a
socket using Network.Socket.ByteString.Lazy.
My question is this, if the Map object doesn't change (no updates) when it
serializes the same document to the socket 2x in a row, does it re-evaluate
the whole BSON value and convert it to a bytestring each time?
Lets say I wanted to have a cache
Hi, everyone, I have a question about `compileToCoreModule` function from
the GHC module.
I noticed that the following code not just outputs the Core code, but also
produces object files and a linked executable (in case when 'test.hs' is a
program):
---
module Main where
Hi Brian,
On 25/07/13 04:14, bri...@aracnet.com wrote:
This should be simple, and I thought it had it working, but I've broken it
and can't figure out why.
What I want is to invoke the callback whenever the user activates and entry
in a dialogbox, so I did both this :
Not sure what you
On Sat, 27 Jul 2013 15:44:44 +0100
Claude Heiland-Allen cla...@mathr.co.uk wrote:
Perhaps it's a terminology confusion: in GTK, activate for an entry
means pressing return key. This program works fine for me, pressing
return prints the text I entered in the box:
8
import
Dear Cafe,
I am trying to implement[1] parsec in go using the Monadic Parser
Combinators paper [2] . I've been able to implement plus bind and
many
While doing the implementation - I looked at bind closely
bind :: Parser a - (a - Parser b) - Parser b
p `bind` f = \inp - concat [f v inp' |
Think about this: if you always take only the first element, why do you
need lists at all?
Roman
* C K Kashyap ckkash...@gmail.com [2013-07-24 19:56:29+0530]
Dear Cafe,
I am trying to implement[1] parsec in go using the Monadic Parser
Combinators paper [2] . I've been able to implement plus
To: C K Kashyap
Cc: Haskell Cafe
Subject: Re: [Haskell-cafe] Parsec question
Think about this: if you always take only the first element, why do you
need lists at all?
Roman
* C K Kashyap ckkash...@gmail.com [2013-07-24 19:56:29+0530]
Dear Cafe,
I am trying to implement[1] parsec in go using
Because of laziness, you do in a sense only take the first successful
value. When I've made parser combinators for Python before, I've used
either generators or exceptions to get lazy evaluation, since computing the
whole list of possibilities for each bind would ruin the running time of
the
the complete match.
regards,
Kashyap
Sent from my Windows Phone
From: Roman Cheplyaka
Sent: 24/07/2013 8:19 PM
To: C K Kashyap
Cc: Haskell Cafe
Subject: Re: [Haskell-cafe] Parsec question
Think about this: if you always take only the first element, why do you
need lists at all?
Roman
Hello all,
This should be simple, and I thought it had it working, but I've broken it and
can't figure out why.
What I want is to invoke the callback whenever the user activates and entry in
a dialogbox, so I did both this :
Gtk.on entry Gtk.entryActivate (boxHandler entry)
(I believe this
Thanks Kyle,
My initial implementation was evaluating the whole list - the current one
though just returns the first successful result. Anyway, I think I need the
backtracking - I would want the aaa as the result :)
I will now explore using go-routines to implement laziness.
Thank you so much
/2013 8:19 PM
To: C K Kashyap
Cc: Haskell Cafe
Subject: Re: [Haskell-cafe] Parsec question
Think about this: if you always take only the first element, why do you
need lists at all?
Roman
* C K Kashyap ckkash...@gmail.com [2013-07-24 19:56:29+0530]
Dear Cafe,
I am trying
Manoel Menezes manoel.menezes...@gmail.com writes:
Hi everybody!
I am trying to solve the question for a long time:
[4.12 Harder] Find out the maximum number of pieces we can get by
making a given number of flat (that is planar) cuts through a solid
block. It is not the same answer as we
Hi everybody!
I am trying to solve the question for a long time:
[*4.12 Harder] Find out the maximum number of pieces we can get by making a
given*
*number of flat (that is planar) cuts through a solid block. It is not the
same*
*answer as we calculated for straight-line cuts of a flat piece
Hello,
I largely don't know what I'm doing or even trying to do, it is a voyage into
the unknownbutif I go...
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE UndecidableInstances #-}
class Foo x y | x -
The constraint on an instance never influences which instance is
selected. So as far as instance selection goes, 'instance Foo x' and
'instance C x = Foo x' are the same. The constraint is only checked
after the instance is selected.
Erik
On Fri, Jul 5, 2013 at 2:43 PM, Nicholls, Mark
.
This means you cannot ensure a type is *not* part of a typeclass. (Or, at
the very least, you can't convince GHC of this fact.)
For more information about this, take a look at the following StackOverflow
question:
http://stackoverflow.com/questions/8728596/explicitly-import-instances
On Jul 5, 2013 8
London NW1 8TT | e:
nicholls.m...@vimn.commailto:m...@vimn.com T: +44 (0)203 580 2223
[Description: cid:image001.png@01CD488D.9204D030]
From: Tikhon Jelvis [mailto:tik...@jelv.is]
Sent: 05 July 2013 2:08 PM
To: Nicholls, Mark
Cc: haskell-cafe
Subject: Re: [Haskell-cafe] newbie question about
Dear list,
Sorry for asking a simple parsec question, but both Parsec and Haskell is
new to me, so please be gentle :-)
I have this code:
import Text.ParserCombinators.Parsec
import
as floats.
On Fri, Jul 5, 2013 at 12:42 PM, Fredrik Karlsson dargo...@gmail.com wrote:
Dear list,
Sorry for asking a simple parsec question, but both Parsec and Haskell is
new to me, so please be gentle :-)
I have this code
Forwarding to the list.
-- Forwarded message --
From: Fredrik Karlsson dargo...@gmail.com
Date: Fri, Jul 5, 2013 at 11:42 AM
Subject: [Haskell-cafe] Basic Parsec float integer parsing question
To: haskell-cafe@haskell.org
Dear list,
Sorry for asking a simple parsec question
On Mon, Jul 01, 2013 at 05:18:39PM +1200, Richard A. O'Keefe wrote:
On 1/07/2013, at 1:04 PM, Richard Cobbe wrote:
I should have been clearer in my original question: I'm curious about what
to do when a multi-argument function application gets split across lines.
That wiki page dicsusses
Hi,
on a related note: At HaL8 I was wondering how well Haskell would be
suited for a workflow similar to what the go programmers do: Do not
worry about code layout, but let the computer handle it! For more
rationale and examples see
http://golang.org/doc/effective_go.html#formatting
While
Code which is part of some expression should be indented
further in than the beginning of that expression [...]
Yes. Then the next question is how much further in.
My answer is: it does not matter, but make it consistent (like 4 spaces),
with the implication that indentation
case ends and the next branch of the outer case
begins:
case x of
A - ...
B -
case y of
Just z - ...
Nothing - ...
C - ...
Similarly (tying this back to my original question), in a do block,
applications that span multiple
in than the beginning of that expression (even if
the expression is not the leftmost element of the line).
This means for example that
f (g x
y
z)
is OK but
f (g x
y z)
is not.
Sure. So my first question boils down to which of the two
Hi,
Am Montag, den 01.07.2013, 07:59 -0400 schrieb Richard Cobbe:
How does the indentation tool know if (a b c) is supposed to be the next
item in the do block, or merely a continuation of the previous application
of f?
I would still expect the developer to write correctly intended Haskell,
-cafe-boun...@haskell.org [haskell-cafe-boun...@haskell.org] on
behalf of Richard Cobbe [co...@ccs.neu.edu]
Sent: Monday, July 01, 2013 8:00 AM
To: haskell-cafe@haskell.org
Subject: Re: [Haskell-cafe] question about indentation conventions
On Mon, Jul 01, 2013 at 05:18:39PM +1200, Richard A. O'Keefe
On Mon, Jul 1, 2013 at 3:43 AM, Tom Ellis
tom-lists-haskell-cafe-2...@jaguarpaw.co.uk wrote:
is OK but
f (g x
y z)
is not.
It seems to me that this means
f x1 x2
x3 x4
is not. The OP was initially asking about this situation.
If you wrote that in a do, the
]
on behalf of Richard Cobbe [co...@ccs.neu.edu]
Sent: Monday, July 01, 2013 8:00 AM
To: haskell-cafe@haskell.org
Subject: Re: [Haskell-cafe] question about indentation conventions
On Mon, Jul 01, 2013 at 05:18:39PM +1200, Richard A. O'Keefe wrote:
It looked pretty explicit to me
On Mon, Jul 1, 2013 at 9:56 AM, Tikhon Jelvis tik...@jelv.is wrote:
I've thought about writing an automatic indenting tool for Haskell (or,
more accurately, a pretty-printer) for another project I have, and this is
the main thing that threw me off. While automatic indentation might make
sense
That's certainly true. As I mentioned, I was actually considering a
*pretty-printer* rather than an automatic indentation tool per se. The end
results are similar, but the pretty-printer is really only the latter part
of the problem: it's predicated on already having a valid AST.
My particular
On 2/07/2013, at 12:00 AM, Richard Cobbe wrote:
Sure. So my first question boils down to which of the two alternatives
below does the community prefer? (To be clear about the intended
semantics: this is the application of the function f to the arguments x, y,
and z.)
f x
y
z
On Sun, Jun 30, 2013 at 07:53:08PM -0400, Richard Cobbe wrote:
Two questions:
And what I've concluded by reading this thread:
1) Are there wide-spread conventions in the Haskell community for how to
indent an application expression that's split across multiple lines?
Well, there's general
I prefer the other style--as do others, evidently (see the example in my
first reply.) I agree that this was a good discussion, but let's not
conclude so easily that the entire community is in favor of one thing or
the other.
On Mon, Jul 1, 2013 at 8:24 PM, Richard Cobbe co...@ccs.neu.edu wrote:
I hope I'm not starting a holy war with this, but I'm curious about an
aspect of coding style that's been bugging me for a while, and I'm not
finding much discussion of this question on the web or in the mailing list
archives.
Two questions:
1) Are there wide-spread conventions in the Haskell
, and I'm not
finding much discussion of this question on the web or in the mailing list
archives.
Two questions:
1) Are there wide-spread conventions in the Haskell community for how to
indent an application expression that's split across multiple lines? For
how to indent an expression
clearer in my original question: I'm curious about what
to do when a multi-argument function application gets split across lines.
That wiki page dicsusses how the layout rule interacts with various special
forms (let, where, if, do, case), but it doesn't seem to address function
applications, beyond
operators? Or does
everyone
pretty much do their own thing?
snip
Thanks for the pointer, Darren, and I did come across that page earlier.
I should have been clearer in my original question: I'm curious about what
to do when a multi-argument function application gets split across lines
On 1/07/2013, at 1:04 PM, Richard Cobbe wrote:
I should have been clearer in my original question: I'm curious about what
to do when a multi-argument function application gets split across lines.
That wiki page dicsusses how the layout rule interacts with various special
forms (let, where
this code and
| are just using a function with such a Restrict constraint.
This is part of a more general question about how to generate better type error
messages. The Helium folk did some good work on this. There's a very
interesting PhD to be had here.
| 2) for some reason the type families
1 - 100 of 4551 matches
Mail list logo