Re: CallStack naming

2016-02-03 Thread Eric Seidel
Thanks for the reminder! I've added a section [1] on setCallStack with my explanation from above. [1]: https://ghc.haskell.org/trac/ghc/wiki/ExplicitCallStack/ImplicitLocations#GeneralizingtosetCallStack On Tue, Feb 2, 2016, at 10:50, Ben Gamari wrote: > Simon Peyton Jones writes: > > > OK. Let

RE: CallStack naming

2016-02-02 Thread Ben Gamari
Simon Peyton Jones writes: > OK. Let's make sure the wiki page and documentation reflects this. > It looks like the Wiki [1] hasn't yet been updated. Let's make sure this happens. Thanks! - Ben [1] https://ghc.haskell.org/trac/ghc/wiki/ExplicitCallStack/ImplicitLocations signature.asc Descr

RE: CallStack naming

2016-01-28 Thread Simon Peyton Jones
OK. Let's make sure the wiki page and documentation reflects this. Thanks SImon | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Eric | Seidel | Sent: 27 January 2016 18:16 | To: ghc-devs@haskell.org | Subject: Re: CallStack naming |

Re: CallStack naming

2016-01-27 Thread Eric Seidel
On Thu, Jan 21, 2016, at 04:07, Simon Peyton Jones wrote: > | It’d probably need a built-in function > | > | setCallStack :: CallStack -> (AppendsCallStack => a) -> a > > Correct. This is easy to write in Core but not in Haskell. Ugh, I just realized that we can't write setCallStack (with imp

RE: CallStack naming

2016-01-21 Thread Simon Peyton Jones
uary 2016 16:15 | To: ghc-devs@haskell.org | Subject: Re: CallStack naming | | On Thu, Jan 21, 2016, at 04:07, Simon Peyton Jones wrote: | > Well, in the short term, let's | > * bikeshed about names | | Ok, I don't like ICallStack :) It sounds like a C# interface, whic

Re: CallStack naming

2016-01-21 Thread Eric Seidel
On Thu, Jan 21, 2016, at 04:07, Simon Peyton Jones wrote: > Well, in the short term, let's > * bikeshed about names Ok, I don't like ICallStack :) It sounds like a C# interface, which, while technically sort of accurate, is very misleading since users will never write an instance. I'd prefer som

Re: CallStack naming

2016-01-21 Thread Herbert Valerio Riedel
On 2016-01-20 at 06:39:32 +0100, Richard Eisenberg wrote: > I'm sure there's an easy answer to this, but I'm wondering: why is the > CallStack feature implemented with implicit parameters instead of just > a magical constraint? Whenever I use this feature, I don't want to > have to enable -XImplici

RE: CallStack naming

2016-01-21 Thread Simon Peyton Jones
et 8.0 out with an API that we like Simon | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of | Joachim Breitner | Sent: 21 January 2016 09:19 | To: ghc-devs@haskell.org | Subject: Re: CallStack naming | | Hi, | | Am Mittwoch, den 20.01.2016, 09:24 -08

Re: CallStack naming

2016-01-21 Thread Joachim Breitner
Hi, Am Mittwoch, den 20.01.2016, 09:24 -0800 schrieb Eric Seidel: > The problem is that I don't know how to implement > `withFrozenCallStack` > (included in the wiki) as a Haskell function if CallStacks aren't > implicit parameters under-the-hood. breaking it further down, the problem is not with

Re: CallStack naming

2016-01-20 Thread Eric Seidel
On Wed, Jan 20, 2016, at 08:14, Simon Peyton Jones wrote: > | > * In principle you might have multiple call stacks kicking around > | > at the same time > | > boo :: (?a::CallStack, ?b::CallStack) => Int -> Int > | > Now I'm not really sure what is supposed to happen about solving > |

RE: CallStack naming

2016-01-20 Thread Simon Peyton Jones
| > * In principle you might have multiple call stacks kicking around | > at the same time | > boo :: (?a::CallStack, ?b::CallStack) => Int -> Int | > Now I'm not really sure what is supposed to happen about solving | > these constraints. Perhaps it could be a feature, but it's not

Re: CallStack naming

2016-01-20 Thread Eric Seidel
On Wed, Jan 20, 2016, at 02:25, Simon Peyton Jones wrote: > | > undefined :: AppendsCallStack => a > | > | Seems simpler. Is it problems with a nullary class? > > Hmm. Actually I think that's quite a good idea. I agree, this is much nicer than enabling ImplicitParams and having to remember t

Re: CallStack naming

2016-01-20 Thread Joachim Breitner
Hi, Am Mittwoch, den 20.01.2016, 09:56 -0500 schrieb Richard Eisenberg: > Eek. That's a bug. :( There we go: https://ghc.haskell.org/trac/ghc/ticket/11466 Greetings, Joachim -- Joachim “nomeata” Breitner m...@joachim-breitner.de • http://www.joachim-breitner.de/ Jabber: nome...@joachim-brei

Re: CallStack naming

2016-01-20 Thread Richard Eisenberg
On Jan 20, 2016, at 6:50 AM, Joachim Breitner wrote: > With GHC-HEAD, it compiles no longer(!): > >[1 of 2] Compiling AppendCallStack ( AppendCallStack.hs, >AppendCallStack.o ) > >AppendCallStack.hs:6:1: error: >• Illegal implicit parameter ‘?callStack::CallStack’ >

Re: CallStack naming

2016-01-20 Thread Joachim Breitner
Hi, Am Mittwoch, den 20.01.2016, 10:32 + schrieb Simon Peyton Jones: > >  foo x :: AppendsCallStack => a -> a > > Remove the "x"! heh. Silly me. So let’s try again: With 7.10 it now works: ==> AppendCallStack.hs <== {-# LANGUAGE ConstraintKinds, ImplicitParams #-} module Appen

RE: CallStack naming

2016-01-20 Thread Simon Peyton Jones
| foo x :: AppendsCallStack => a -> a Remove the "x"! S | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of | Joachim Breitner | Sent: 20 January 2016 09:08 | To: ghc-devs@haskell.org | Subject: Re: CallStack naming |

RE: CallStack naming

2016-01-20 Thread Simon Peyton Jones
| I'm sure there's an easy answer to this, but I'm wondering: why is the | CallStack feature implemented with implicit parameters instead of just | a magical constraint? Whenever I use this feature, I don't want to | have to enable -XImplicitParams and then make sure I get the name | right. Wh

Re: CallStack naming

2016-01-20 Thread Joachim Breitner
Hi, Am Mittwoch, den 20.01.2016, 00:39 -0500 schrieb Richard Eisenberg: > I'm sure there's an easy answer to this, but I'm wondering: why is > the CallStack feature implemented with implicit parameters instead of > just a magical constraint? Whenever I use this feature, I don't want > to have to e