Volunteer for a panel at HIW 2019

2019-07-26 Thread Iavor Diatchki
Hello, I am sending this on behalf of Nikki Vazou, who is organizing this year's HIW---she is looking for a volunteer to represent Haskell' on a panel, but the haskell-prime list is restricted to only members. Details are in her message below. If you are interested, please respond directly to

Re: Default module header `module Main where`

2017-05-16 Thread Iavor Diatchki
One potential difference between the two is that the current behavior allows the `Main` module to import `main` from another module, while the new behavior would fail in that case. For example, a file that has only a single line: import SomeOtherModule(main) This still seems like a fairly

Re: Default module header `module Main where`

2017-05-16 Thread Iavor Diatchki
That seems fairly reasonable to me. -Iavor On Tue, May 16, 2017 at 7:18 AM, Joachim Breitner wrote: > Hi, > > a very small proposal to be considered for Haskell': > > Currently, the report states > > An abbreviated form of module, consisting only of the module

Re: Unused import warning on re-export

2017-05-15 Thread Iavor Diatchki
Actually, I just tried to make an example of this, and GHC does not seem to export `f`, just as the report says. So I'd say GHC is behaving correctly, both with the exports and the warning. On Fri, May 12, 2017 at 10:39 AM, Iavor Diatchki <iavor.diatc...@gmail.com> wrote: &

Re: Unused import warning on re-export

2017-05-12 Thread Iavor Diatchki
Hello, actually, the bug here is that `f` is exported, as omitting the export list is not equivalent to writing `module A` in the export list. This is explicitly stated in Section 5.2 of the Haskell report: "If the export list is omitted, all values, types and classes defined in the module are

[Haskell] Haskell Symposium deadline in 3 weeks

2017-05-01 Thread Iavor Diatchki
Komendantskaya University of Dundee Henrik NilssonUniversity of Nottingham Iavor Diatchki (chair)Galois J. Garrett Morris University of Edinburgh Joachim Breitner University of Pennsylvania Juriaan Hage Utrecht University Lennart AugustssonFacebook

Re: Why isn't this Overlapping?

2017-04-17 Thread Iavor Diatchki
Hello, these two instances really should be rejected as they violate the FD of the class: we can derive `TypeEq a a True` using the first instance and `TypeEq a a False` using the second one. Unfortunately, the check that we are using to validate FDs when `UndecidableInstances` is on, is not

Re: Alternative to importing GHC.TypeLits?

2017-03-31 Thread Iavor Diatchki
Hi, the initial plan was that `GHC.TypeLits` should provide just the basic functionality, and later other libraries would be build to provide more convenient functions for specific applications. I don't know of any such convenience libraries, so at present, people just import `GHC.TypeLits`

[Haskell] Haskell Symposium Early Deadline in Two Weeks

2017-02-27 Thread Iavor Diatchki
Komendantskaya University of Dundee Henrik NilssonUniversity of Nottingham Iavor Diatchki (chair)Galois J. Garrett Morris University of Edinburgh Joachim Breitner University of Pennsylvania Juriaan Hage Utrecht University Lennart Augustsson

[Haskell] Haskell Symposium 2017, call for submissions

2017-01-30 Thread Iavor Diatchki
will give the program committee a chance to provide feedback and help draw out the key ideas. Program Committee = Adam Gundry Well-Typed Ekaterina Komendantskaya University of Dundee Henrik NilssonUniversity of Nottingham Iavor Diatchki (chair)Galois

Re: GitHub proposal repo permissions

2016-10-19 Thread Iavor Diatchki
Hi, I think Herbert added me to the correct group, thanks! On Tue, Oct 18, 2016 at 10:24 AM, David Luposchainsky via Haskell-prime < haskell-prime@haskell.org> wrote: > On 12.10.2016 19:09, Iavor Diatchki wrote: > > could someone with access fix it, maybe David > > I’m j

GitHub proposal repo permissions

2016-10-12 Thread Iavor Diatchki
Hello, I was just trying to update the `Haskel 2020` project as it is not in sync with the actual pull-requests, bit I can't see a way to do it. Am I missing something, or do I simply not have the required permissions? If this is indeed a permissions issue, could someone with access fix it

Proposal: accept tuple sections

2016-10-12 Thread Iavor Diatchki
Hello, it seems that there isn't much controversy over the TupleSections propsal, so I'd like to move the we accept it for the next language standard. Does anyone have any objections? -Iavor ___ Haskell-prime mailing list Haskell-prime@haskell.org

Process question

2016-10-04 Thread Iavor Diatchki
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 ___

Re: Step-by-step guide for creating a new proposal

2016-10-04 Thread Iavor Diatchki
-prime < haskell-prime@haskell.org> wrote: > On 04.10.2016 01:27, Iavor Diatchki wrote: > > During our Haskell Prime lunch meeting at ICFP, I promised to create a > detailed > > step-by-step guide for creating Haskell Prime proposals on GitHub. The > > instr

Step-by-step guide for creating a new proposal

2016-10-03 Thread Iavor Diatchki
Hello, During our Haskell Prime lunch meeting at ICFP, I promised to create a detailed step-by-step guide for creating Haskell Prime proposals on GitHub. The instructions are now available here: https://github.com/yav/rfcs/blob/instructions/step-by-step-instructions.md Please have a look and

Re: minutes from committee meeting at ICFP

2016-10-02 Thread Iavor Diatchki
Hello, I just got back to the US, and have started uploading videos in earnest. Hopefully, I'll get to the Haskell Symposium pretty soon, and the whole discussion was recorded so that everyone can listen to it. I started taking notes at the beginning of the discussion, but then got distracted,

Re: GHC Performance / Replacement for R?

2016-08-30 Thread Iavor Diatchki
Hello, when you parse the CSV fully, you end up creating a lot of small bytestring objects, and each of these adds some overhead. The vectors themselves add up some additional overhead. All of this adds up when you have as many fields as you do. An alternative would be to use a different

Re: Proposal process status

2016-07-20 Thread Iavor Diatchki
Hello Ben, I posted this when you originally asked for feed-back, but perhaps it got buried among the rest of the e-mails. I think the proposal sounds fairly reasonable, but it is hard to say how well it will work in practice until we try it, and we should be ready to change it if needs be.

Re: ArgumentDo proposal updated

2016-07-13 Thread Iavor Diatchki
Hello Manuel, this is exactly the change that is being discussed: currently a `case` expression is not considered to be atomic (`aexp`), which is why it can't appear in a record update without parens. The proposed change, as I understand it, is to make `case` (and `do`) into atomic expressions

Re: Rethinking GHC's approach to managing proposals

2016-07-11 Thread Iavor Diatchki
Hello, I think this sounds fairly reasonable, but it is hard to say how well it will work in practice until we try it. Some clarifying questions on the intended process: 1. After submitting the initial merge request, is the person making the proposal to wait for any kind of acknowledgment,

Re: Proposal: ArgumentDo

2016-07-08 Thread Iavor Diatchki
Hello, while we are voting here, I kind of like this proposal, so +1 for me. I understand that some of the examples look strange to Haskell old-timers but, as Joachim points out, the behavior is very consistent. Besides, the "Less Obvious Examples" were selected so that they are, well, less

Re: Limber separators

2016-05-12 Thread Iavor Diatchki
On Sat, May 7, 2016 at 1:44 AM, Jon Fairbairn wrote: > > > The one this violates is “never make language design decisions > to work around deficiencies in tools” The problem is that diff > does its work in ignorance of the syntax and consequently > produces poor

Re: Scope of committee (can we do *new* things?)

2016-05-12 Thread Iavor Diatchki
I disagree that we should be standardizing language features that have not been implemented. I think having an implementation is important because: 1. the act of implementing a feature forces you to work out details that you may not have thought of ahead of time. For example, for a small

Re: The GADT debate

2016-05-08 Thread Iavor Diatchki
Hello, what is the state with the semantic specification of GADTs? I am wondering if they fit in the usual CPO-style semantics for Haskell, or do we need some more exotic mathematical structure to give semantics to the language. -Iavor On Sun, May 8, 2016 at 8:36 AM, Carter Schonwald

Re: RFC: Removing the `-hb` profiling option

2016-05-06 Thread Iavor Diatchki
I think that biographical profiling is quite nice! I wouldn't say that it is *more* useful than other modes of profiling, but it is certainly complementary, and helps give you an idea of what's going on. So I'd very much vote for fixing it rather than removing it. -Iavor On Fri, May 6, 2016 at

Re: Are there GHC extensions we'd like to incorporate wholesale?

2016-05-03 Thread Iavor Diatchki
Hello, I think it'd be great to get started by specifying a few simple extensions, such as the ones Lennart listed. Even though they are very well understood, and we have text about them in the GHC manual, we'd still have to think of how to integrate their descriptions with the rest of the

Re: Ambiguity check and type families

2015-06-02 Thread Iavor Diatchki
Hi, that's an interesting example. To me this looks like a bug in GHC, although the issue is certainly a bit subtle. The reason I think it is a bug is that, if we name all the type functions in the signature and apply improvements using the fact that we are working with functions, then we get:

Re: Recursion on TypeNats

2014-10-28 Thread Iavor Diatchki
Hello, actually type-level integers are easier to work with than type-level naturals (e.g., one can cancel things by subtracting at will). I agree that ideally we want to have both integers and naturals (probably as separate kinds). I just don't know what notation to use to distinguish the

Re: Type checker plugins

2014-10-22 Thread Iavor Diatchki
. Unfortunately I'm not sure we can easily unflatten *some* constraints, given the way unflattening will work in the new getInertUnsolved. One option might be for tcPluginSolve to be called in both places, with a boolean parameter. Cheers, Adam On 18/10/14 23:33, Iavor Diatchki wrote: Hello

Re: Type checker plugins

2014-10-18 Thread Iavor Diatchki
constraint; these are removed from the inert set, and re-added as insoluable. Happy hacking, -Iavor On Fri, Oct 17, 2014 at 3:36 PM, Iavor Diatchki iavor.diatc...@gmail.com wrote: Hello, On Thu, Oct 16, 2014 at 3:58 AM, Adam Gundry a...@well-typed.com wrote: One problem I've run

Re: Type checker plugins

2014-10-17 Thread Iavor Diatchki
Hello, On Thu, Oct 16, 2014 at 3:58 AM, Adam Gundry a...@well-typed.com wrote: One problem I've run into is transforming the flattened CFunEqCans into unflattened form (so the flatten-skolems don't get in the way of AG-unification). Do you know if there is an easy way to do this, or do I

Re: Type checker plugins

2014-10-13 Thread Iavor Diatchki
wrote: yay :) On Mon, Oct 6, 2014 at 2:42 PM, Iavor Diatchki iavor.diatc...@gmail.com wrote: Hi Adam, I am back from vacation, and I think I should have some time to try to implement something along these lines. Cheers, -Iavor On Fri, Sep 12, 2014 at 9:41 AM, Adam Gundry a...@well

Re: Type checker plugins

2014-10-06 Thread Iavor Diatchki
Hi Adam, I am back from vacation, and I think I should have some time to try to implement something along these lines. Cheers, -Iavor On Fri, Sep 12, 2014 at 9:41 AM, Adam Gundry a...@well-typed.com wrote: Hi folks, Those of you at HIW last week might have been subjected to my lightning

[Haskell] ANN: New version of graphmod (1.2.4)

2014-10-03 Thread Iavor Diatchki
Hello, I am pleased to announce a new version of `graphmod`---a program that helps you visualize the import dependencies between the modules in your Haskell programs. The new feature in version 1.2.4 is support for pruning the dependency graph, which is enabled with the flag -p or --prune-edges.

Re: Aliasing current module qualifier

2014-09-30 Thread Iavor Diatchki
Hello, What semantics are you using for recursive modules? As far as I see, if you take a least fixed point semantics (e.g. as described in A Formal Specification for the Haskell 98 Module System, http://yav.github.io/publications/modules98.pdf ) this program is incorrect as the module does not

Re: Overlapping and incoherent instances

2014-08-11 Thread Iavor Diatchki
Hello, this is clearly a bug in GHC: where `B` and `C` are imported, there should have been an error, saying that there is a duplicate instance of `Foo Int`. If there is no ticket for this already, could you please add one? -Iavor On Mon, Aug 11, 2014 at 12:35 PM, Dan Doel

Re: Overlapping and incoherent and intentionally omitted instances

2014-08-10 Thread Iavor Diatchki
Hello, Such a pragma sounds useful, and is very much like the fails instance from the Instance chains paper. You may also be interested in ticket #9334 (https://ghc.haskell.org/trac/ghc/ticket/9334), which proposes an alternative to overlapping instances, and I just updated it to point to #7775.

Re: Overlapping and incoherent instances

2014-07-29 Thread Iavor Diatchki
Hello, I have no strong feelings about what words we use, but I wanted to point out that while we are thinking of names, we may want to consider 3 (and not just 2). Currently we have: * OVERLAPPING: This instances may overlap existing instances * OVERLAPPABLE: This instance may be

Re: positive type-level naturals

2014-03-19 Thread Iavor Diatchki
Hi Henning, I see two separate issues that show in what you describe, so it might be useful to discuss them separately: 1. The first issue is figuring out that `n + 1` is always at least 1. As others have mentioned, GHC currently only does proofs by evaluation, which is why it gets stuck here.

Re: default roles

2013-10-09 Thread Iavor Diatchki
Hello, My preference would be for the following design: 1. The default datatypes for roles are Nominal, but programmers can add annotations to relax this. 2. Generlized newtype deriving works as follows: we can coerce a dictionary for `C R` into `C T`, as long as we can coerce the types of all

Re: Desugaring do-notation to Applicative

2013-10-01 Thread Iavor Diatchki
Hello, I talked to Simon PJ about this at ICFP, and the use case that I'm interested in is the one where we infer an `Applicative` constraint instead of `Monad` for things of the form: do { x1 - e1; x2 - e2; ...; pure (f x1 x2 ...) } as long as the `xs` do not appear in the `es`. I am

Re: 7.8 Release Update

2013-09-12 Thread Iavor Diatchki
Hello, I think that the simple type nats solver (branch type-nats-simple) is pretty much ready for merging with HEAD. Should I go ahead and merge it in? -Iavor On Thu, Sep 12, 2013 at 1:18 PM, Austin Seipp aus...@well-typed.com wrote: I think this can definitely be clarified. I'll update

Re: 7.8 Release Update

2013-09-09 Thread Iavor Diatchki
Hello Austin, On Sun, Sep 8, 2013 at 4:27 PM, Austin Seipp ase...@pobox.com wrote: * Iavor Diatchki and SPJ are working together on the type-nats-simple branch. I believe this will hopefully land in time. Iavor, SPJ - can you comment here? I think we are on track to get this done on time

Re: [Haskell-cafe] TypeLits Typeable

2013-08-26 Thread Iavor Diatchki
Hi guys, Yep, we know about this and, I believe, the plan is to add custom rules to the constraint solver to solve `Typable n` constraints (where n is a number or symbol). Just for the record, the other design choice was to add instance `Typeable (n :: Symbol)`, but that conflicted with some

[Haskell] Job opportunities at Galois

2013-06-27 Thread Iavor Diatchki
Hello, Galois is hiring! We're looking for researchers, principal investigators, and software engineers, including those with expertise in functional programming, formal methods, computer security, control systems, informatics, or networking. For more information, take a look at

Re: [Haskell] [Haskell-cafe] Job opportunities at Galois

2013-06-27 Thread Iavor Diatchki
/27 Iavor Diatchki iavor.diatc...@gmail.com Hello, Galois is hiring! We're looking for researchers, principal investigators, and software engineers, including those with expertise in functional programming, formal methods, computer security, control systems, informatics, or networking

[Haskell-cafe] Job opportunities at Galois

2013-06-27 Thread Iavor Diatchki
Hello, Galois is hiring! We're looking for researchers, principal investigators, and software engineers, including those with expertise in functional programming, formal methods, computer security, control systems, informatics, or networking. For more information, take a look at

Re: [Haskell-cafe] Job opportunities at Galois

2013-06-27 Thread Iavor Diatchki
/27 Iavor Diatchki iavor.diatc...@gmail.com Hello, Galois is hiring! We're looking for researchers, principal investigators, and software engineers, including those with expertise in functional programming, formal methods, computer security, control systems, informatics, or networking

Re: relaxing instance declarations

2013-04-29 Thread Iavor Diatchki
Hello, I think that if we want something along those lines, we should consider a more general construct that allows declarations to scope over other declarations (like SML's `local` construct). It would be quite arbitrary to restrict this only to instances. -Iavor On Mon, Apr 29, 2013 at

Re: ImplicitParams and MonoLocalBinds

2013-03-28 Thread Iavor Diatchki
Hi, This does not appear to be related to ImplicitParameters, rather `MonoLocalBinds` is not working as expected. Here is an example without implicit parameters that compiles just fine, but would be rejected if `p` was monomorphic: {-# LANGUAGE NoMonomorphismRestriction, MonoLocalBinds #-}

Re: ImplicitParams and MonoLocalBinds

2013-03-28 Thread Iavor Diatchki
notation was something like x := 2). Perhaps we should revisit it, it seems much simpler than the rather surprising behavior of `MonoLocalBinds`. -Iavor On Thu, Mar 28, 2013 at 4:39 PM, Iavor Diatchki iavor.diatc...@gmail.comwrote: Hi, This does not appear to be related to ImplicitParameters

Re: Release plans

2013-03-20 Thread Iavor Diatchki
Hello, I think that there are a lot of useful features that are in HEAD that would be useful to a wider audience than GHC devs, so a release before October would certainly be useful. I don't think it is that important if it is called 7.7.1 or 7.8.1 but I think that it needs to be a fixed

Re: [Haskell-cafe] Status of GHC type-nats branch

2013-02-25 Thread Iavor Diatchki
Hello, I haven't merged the type-nats branch with GHC master recently, so some of the libraries probably moved forward, which could be the source of the problem. I'll make sure to fix it over the next couple of days. -Iavor On Mon, Feb 25, 2013 at 6:39 AM, Takayuki Muranushi

Re: [Haskell-cafe] Text.JSON and utf8

2013-02-16 Thread Iavor Diatchki
Hello Martin, the change that you propose seems to already be in json-0.7. Perhaps you just need to 'cabal update' and install the most recent version? About your other question: I have not used CouchDB but a common mistake is to mix up strings and bytes. Perhaps the `getDoc` function does

[no subject]

2013-01-29 Thread Iavor Diatchki
Hello, I was just doing some work with Template Haskell and I noticed that the AST does not have support for record puns and wild-cards. I know that these could be desugared into ordinary record patterns but I think that it would be more convenient for users (and also more consistent with the

Proposal to extend FieldPat in Template Haskell

2013-01-29 Thread Iavor Diatchki
Hello, (sorry for the repost, I forgot to add a subject.) I was just doing some work with Template Haskell and I noticed that the AST does not have support for record puns and wild-cards. I know that these could be desugared into ordinary record patterns but I think that it would be more

Re: data kinds

2013-01-26 Thread Iavor Diatchki
Hello, I think that it'd be really useful to be able to just declare a `kind` without having to promote a datatype. When we discussed this last time (summarized by the link Pedro sent, I think) it came up that it might be nice to also have kind synonyms, which would be analogous to type

Re: Newtype wrappers

2013-01-14 Thread Iavor Diatchki
Hello, The general functionality for this seems useful, but we should be careful exactly what types we allow in the 'newtype wrap/unwrap' declarations. For example, would we allow something like this: newtype wrap cvt :: f a - f (Dual a) If we just worry about what's in scope, then it should

Re: Advice on type families and non-injectivity?

2013-01-13 Thread Iavor Diatchki
Hello Conal, The issue with your example is that it is ambiguous, so GHC can't figure out how to instantiate the use of `foo`. It might be easier to see why this is if you write it in this form: foo :: (F a ~ b) = b foo = ... Now, we can see that only `b` appears on the RHS of the `=`, so

Re: Advice on type families and non-injectivity?

2013-01-13 Thread Iavor Diatchki
Hello, On Sun, Jan 13, 2013 at 12:05 PM, Conal Elliott co...@conal.net wrote: so there is really no way for GHC to figure out what is the intended value for `a`. Indeed. Though I wonder: does the type-checker really need to find a binding for `a` in this case, i.e., given the equation

Re: [Haskell-cafe] Advice on type families and non-injectivity?

2013-01-13 Thread Iavor Diatchki
Hello Conal, The issue with your example is that it is ambiguous, so GHC can't figure out how to instantiate the use of `foo`. It might be easier to see why this is if you write it in this form: foo :: (F a ~ b) = b foo = ... Now, we can see that only `b` appears on the RHS of the `=`, so

Re: [Haskell-cafe] Advice on type families and non-injectivity?

2013-01-13 Thread Iavor Diatchki
Hello, On Sun, Jan 13, 2013 at 12:05 PM, Conal Elliott co...@conal.net wrote: so there is really no way for GHC to figure out what is the intended value for `a`. Indeed. Though I wonder: does the type-checker really need to find a binding for `a` in this case, i.e., given the equation

Re: [Haskell-cafe] Documentation operator

2012-12-27 Thread Iavor Diatchki
Hi, I think that this is a neat idea that should be explored more! GHC's parser has a bunch of awkward duplication to handle attaching documentation to types, and it'd be cool if we could replace it with an actual language construct. Happy holidays! -Iavor On Wed, Dec 26, 2012 at 3:27 AM,

Re: Fundeps and type equality

2012-12-25 Thread Iavor Diatchki
Hello Conal, GHC implementation of functional dependencies is incomplete: it will use functional dependencies during type inference (i.e., to determine the values of free type variables), but it will not use them in proofs, which is what is needed in examples like the one you posted. The reason

Re: Fundeps and type equality

2012-12-25 Thread Iavor Diatchki
Hello Conal, GHC implementation of functional dependencies is incomplete: it will use functional dependencies during type inference (i.e., to determine the values of free type variables), but it will not use them in proofs, which is what is needed in examples like the one you posted. The reason

Re: proposal: separate lists for ghc-cvs commits and ghc-dev chatter

2012-12-06 Thread Iavor Diatchki
Hello, I also sometimes wish that GHC developer discussions happened in a single place, separate from the commits and ticket lists (at present they are sometimes on ghc-users and sometimes on cvs-ghc). For what it's worth, I don't follow the commit and build-bot messages closely, instead I use

Re: [Haskell-cafe] curl package broken in Windows

2012-11-12 Thread Iavor Diatchki
Hi, the curl binding certainly needs some love---if anyone has the time to fix it up and maintain it, help would be most appreciated. There is a repo for it over here: https://github.com/GaloisInc/curl which is the most up-to date version I know of, but since the last commit there seems to be

Re: [Haskell-cafe] curl package broken in Windows

2012-11-12 Thread Iavor Diatchki
with other stuff, so we really need someone who's using the library to help. Thanks! -Iavor On Mon, Nov 12, 2012 at 2:06 PM, Iustin Pop iu...@k1024.org wrote: On Mon, Nov 12, 2012 at 10:57:25PM +0100, Iustin Pop wrote: On Mon, Nov 12, 2012 at 01:48:23PM -0800, Iavor Diatchki wrote: Hi

How to use `trace` while debuging GHC

2012-11-11 Thread Iavor Diatchki
Hello, While working on GHC sometimes I find it useful to dump the values of intermediate expressions, perhaps in the middle of pure code, using a combination of `trace` and `ppr`. The issue is that `ppr` returns an `SDoc`, and to turn an `SDoc` into a `String`, I need some `DynFlags`. There

Re: [Haskell-cafe] Computed promoted natural

2012-11-08 Thread Iavor Diatchki
Hello Arie, One way to achieve the additional static checking is to use values of type `Sing (n :: Nat)` in the places where you've used `Integer` (and parameterize data structures by the `n`). If the code is fully polymorphic in the `n`, then you can use it with values whose types as not

Re: [Haskell-cafe] [Security] Put haskell.org on https

2012-11-02 Thread Iavor Diatchki
Hello, I think that getting a certificate is a good idea. I think this could probably be arranged by the haskell.org committee, which even has a budget for things like that, I believe. I'm cc-ing Jason, who's on the committee and might have more input on what's the best way to proceed. Thanks

Re: [Haskell-cafe] Type-directed functions with data kinds

2012-10-25 Thread Iavor Diatchki
Hello Paul, If you don't want to use the class system, you could write `repeat` with a type like this: repeat :: Proxy n - a - Vector n a (`Proxy` is the singleton family 'data Proxy n = Proxy`). You can't really do it with a function of type `a - Vector n a` because there is no way for

Re: [Haskell-cafe] Type-directed functions with data kinds

2012-10-25 Thread Iavor Diatchki
Hello, Sorry, I made a mistake, the version of 'repeat :: Proxy n - a - Vector n a' won't work either, as Andres noticed, because `Proxy` still won't give you information about how many times to repeat. You'd have to use a structured singleton family, where the values are linked to the types:

Re: PolyKind issue in GHC 7.6.1rc1: How to make a kind a functional dependency?

2012-10-16 Thread Iavor Diatchki
that. ·Iavor mutters about sketchiness, but I’m not sure what that means specifically. ·I’m not sure how, it at all, it affects Richard’s singletons paper Simon *From:* Iavor Diatchki [mailto:diatc...@galois.com] *Sent:* 12 October 2012 21:11 *To:* Richard Eisenberg

[Haskell] ANN: monadLib-3.7.1 on Hackage

2012-10-01 Thread Iavor Diatchki
Hello, I am pleased to announce the availability of monadLib-3.7.1 on Hackage. MonadLib is a library intended to help programmers to quickly and easily construct various monads. The library has support for a wide range of effects: threading state, read-only variables, collecting output,

[Haskell-cafe] ANN: monadLib-3.7.1 on Hackage

2012-10-01 Thread Iavor Diatchki
Hello, I am pleased to announce the availability of monadLib-3.7.1 on Hackage. MonadLib is a library intended to help programmers to quickly and easily construct various monads. The library has support for a wide range of effects: threading state, read-only variables, collecting output,

Re: How do I build GHC 7.6 from source?

2012-09-20 Thread Iavor Diatchki
? Ian said that it is somewhere in the nightly build logs but I don't where to look. -Iavor On Thu, Sep 20, 2012 at 7:20 AM, Simon Marlow marlo...@gmail.com wrote: On 19/09/2012 02:15, Iavor Diatchki wrote: exactly what git's submodule machinery does, so it seems pointless

Re: PolyKind issue in GHC 7.6.1rc1: How to make a kind a functional dependency?

2012-09-18 Thread Iavor Diatchki
Hello, On Tue, Sep 18, 2012 at 12:10 AM, Simon Peyton-Jones simo...@microsoft.comwrote: The technically-straightforward thing to do is to add kind application, but that's a bit complicated notationally. http://hackage.haskell.org/trac/ghc/wiki/ExplicitTypeApplication Does anyone have any

How do I build GHC 7.6 from source?

2012-09-18 Thread Iavor Diatchki
Hello, I was just trying to build the GHC-7.6 branch from source and the build failed with type-errors, because the libraries used by GHC have moved on since the release, and sync all just gets the most recent version. Is there a fingerprint somewhere so that I can checkout the libraries in a

Re: How do I build GHC 7.6 from source?

2012-09-18 Thread Iavor Diatchki
Hello, On Tue, Sep 18, 2012 at 1:25 PM, Ian Lynagh i...@well-typed.com wrote: Why do you want to build 7.6 but not 7.6.1, OOI? I was trying to build a different branch which is a fork of 7.6---I wanted to play around with the profiling suite described in the Core Diving talk from the Haskell

Re: Type operators in GHC

2012-09-17 Thread Iavor Diatchki
Hello, I think that it would be a mistake to have two pragmas with incompatible behaviors: for example, we would not be able to write modules that use Conal's libraries and, say, the type nats I've been working on. If the main issue is the notation for arrows, has anoyone played with what can be

Re: is this a type lits/nats bug or my incorrect understanding ?

2012-08-28 Thread Iavor Diatchki
Hello, the functions on type literals on the master branch are not yet implemented. If you want to play around with these kinds of things, please use the type-nats branch (please note that this is a development branch so things may occasionally break!). In the first example, GHC is saying that

Re: [Haskell-cafe] Simple shell scripts

2012-08-27 Thread Iavor Diatchki
Hello, this happens because head probably closes the file descriptor after 3 lines, and then the Haskell program tries to write to a closed handle (i.e., it's stdout is not there anymore). The best thing to do depends on the program. One fairly simple option would be to handle the exception, and

Re: [Haskell-cafe] Platform Versioning Policy: upper bounds are not our friends

2012-08-20 Thread Iavor Diatchki
Hello, I also completely agree with Bryan's point which is why I usually don't add upper bounds on the dependencies of the packages that I maintain---I find that the large majority of updates to libraries tend to be backward compatible, so being optimistic seems like a good idea. By the way,

Re: Call to arms: lambda-case is stuck and needs your help

2012-07-11 Thread Iavor Diatchki
Hello, I am late to the discussion and this is not entirely on topic, for which I apologize, but I like the multi-branch case syntax someone mentioned earlier: Writing: case | p1 - e1 | p2 - e2 | ... desugars to: case () of _ | p1 - e2 | p2 - e2 | ... -Iavor PS: I

Re: Creating stubs statically

2012-07-05 Thread Iavor Diatchki
Hi Paolo, I agree that this would be useful. In fact, a couple of years ago I implemented this in GHC, but after some discussion folks were not convinced that it's a good idea. I don't remember the details but as far as I recall we agreed to disagree :-) The e-mail thread is over here:

Re: [Haskell-cafe] Fundeps and overlapping instances

2012-06-01 Thread Iavor Diatchki
class constraint holds. -Iavor On Wed, May 30, 2012 at 11:14 PM, Etienne Laurin etie...@atnnn.com wrote: 2012/5/31 Iavor Diatchki iavor.diatc...@gmail.com: Hello, the notion of a functional dependency is well established, and it was used well before it was introduced to Haskell

Re: [Haskell-cafe] Fundeps and overlapping instances

2012-05-30 Thread Iavor Diatchki
Hello, On Wed, Jul 7, 2010 at 2:14 PM, Simon Peyton-Jones simo...@microsoft.comwrote: We can’t permit overlap for type families because it is *unsound *to do so (ie you can break “well typed programs don’t go wrong”). But if it’s unsound for type families, it would not be surprising if it

Re: [Haskell-cafe] Fundeps and overlapping instances

2012-05-30 Thread Iavor Diatchki
Hello, the notion of a functional dependency is well established, and it was used well before it was introduced to Haskell (for example, take a look at http://en.wikipedia.org/wiki/Functional_dependency). So I'd be weary to redefine it lightly. Note that placing a functional dependency

Re: [Haskell-cafe] Data Kinds and superfluous (in my opinion) constraints contexts

2012-05-17 Thread Iavor Diatchki
Hi, It is quite likely that the error that you are getting with approach 2 is because when you are constructing the `Combinator` value, there is not enough type information to figure out how to solve the constraint (and it sounds like this happens because there is not enough type information to

Re: [Haskell-cafe] Data Kinds and superfluous (in my opinion) constraints contexts

2012-05-16 Thread Iavor Diatchki
Hello, The context in your example serves an important purpose: it records the fact that the behavior of the function may differ depending on which type it is instantiated with. This is quite different from ordinary polymorphic functions, such as `const` for example, which work in exactly the

Re: What is a punctuation character?

2012-03-20 Thread Iavor Diatchki
, Iavor Diatchki iavor.diatc...@gmail.com wrote: Hello, I am also not an expert but I got curious and did a bit of Wikipedia reading.  Based on what I understood, here are two (related) questions that it might be nice to clarify in a future version of the report: 1. What is the alphabet used

Re: What is a punctuation character?

2012-03-16 Thread Iavor Diatchki
Hello, I am also not an expert but I got curious and did a bit of Wikipedia reading. Based on what I understood, here are two (related) questions that it might be nice to clarify in a future version of the report: 1. What is the alphabet used by the grammar in the Haskell report? My

Re: [Haskell-cafe] ANN: hp2html, a tool for viewing GHC heap-profiles

2012-02-20 Thread Iavor Diatchki
Hello, On Mon, Feb 20, 2012 at 7:03 PM, Johan Tibell johan.tib...@gmail.comwrote: Looks really nice. Thanks! The hovering behavior is nice, but I'd like to see the legend as well. It makes it quicker when you want to get a quick overview of what types there are, as the eye can travel

Re: [Haskell-cafe] ANN: hp2html, a tool for viewing GHC heap-profiles

2012-02-20 Thread Iavor Diatchki
Hello, On Mon, Feb 20, 2012 at 7:03 PM, Johan Tibell johan.tib...@gmail.comwrote: Looks really nice. Thanks! The hovering behavior is nice, but I'd like to see the legend as well. It makes it quicker when you want to get a quick overview of what types there are, as the eye can travel

Re: Changes to Typeable

2012-02-14 Thread Iavor Diatchki
Hello, On Mon, Feb 13, 2012 at 5:32 PM, Edward Kmett ekm...@gmail.com wrote: There are fewer combinators from commonly used classes for working with the left argument of a bifunctor, however. I think that the bifunctor part of Bas's version is a bit of a red herring. What I like about it is

Re: Changes to Typeable

2012-02-11 Thread Iavor Diatchki
Hello, I like Bas's variation on the design (except, perhaps, for the name Tagged ;) It captures exactly what we are trying to do: the dictionary for Typeable becomes simply the run-time representation of the type. Coincidentally, this is exactly the same as what I am using to link value level

Re: Holes in GHC

2012-01-25 Thread Iavor Diatchki
Hello, On Wed, Jan 25, 2012 at 7:21 AM, Thijs Alkemade thijsalkem...@gmail.com wrote: Also, we have a confusing problem when type checking a module. Above, we showed the result of :t map __ __ in ghci. However, if we put f = map __ __ in a module, we get: tcRnModule: [(f.hs:1:9-10,

Re: Type operators in GHC

2012-01-18 Thread Iavor Diatchki
Hello, My preference would be to change the behavior of the TypeOperator flag. Here is my reasoning: * Having two operators with slightly different meanings would be very confusing, not just for beginners but for everyone. * The two behaviors are not compatible in the sense that they can't

  1   2   3   4   >