Re: [Haskell-cafe] Fwd: 'let' keyword optional in do notation?

2012-08-16 Thread Martijn Schrage

On 09-08-12 10:35, Tillmann Rendel wrote:

Hi,

Martijn Schrage wrote:

Would expanding each let-less binding to a separate let feel more
sound to you?


That was actually my first idea, but then two declarations at the same
level will not be in the same binding group, so

do x = y
   y = 1

would not compile. This would create a difference with all the other
places where bindings may appear.


But it would be in line with - bindings in the do notation, so maybe 
it wouldn't feel so wrong.
It would absolutely be the easiest solution to implement, since as far 
as I can see, it requires only a small change to the parser. However, I 
still think it will be too confusing to have bindings that look the same 
as everywhere else but have different binding group rules. Especially 
since there is no reason for it from a semantic point of view (unlike 
when you mix in a monadic - binding, after which it makes sense to have 
a new binding group.)


Anyhow, I'll submit it as a GHC feature request and see what happens.

Cheers,
Martijn Schrage -- Oblomov Systems (http://www.oblomov.com)

  Tillmann

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



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


Re: [Haskell-cafe] Fwd: 'let' keyword optional in do notation?

2012-08-13 Thread Ryan Ingram
 But it would be in line with - bindings in the do notation, so maybe it
wouldn't feel so wrong.

I was about to post this exact example.

do
  x - return 1
  x - return x
  return x

seems to work just fine (the answer is 1).  I'd even be ok with =-in-do
being non-recursive like -

  -- ryan

On Thu, Aug 9, 2012 at 1:35 AM, Tillmann Rendel 
ren...@informatik.uni-marburg.de wrote:

 Hi,


 Martijn Schrage wrote:

 Would expanding each let-less binding to a separate let feel more
 sound to you?

  That was actually my first idea, but then two declarations at the same
 level will not be in the same binding group, so

 do x = y
y = 1

 would not compile. This would create a difference with all the other
 places where bindings may appear.


 But it would be in line with - bindings in the do notation, so maybe it
 wouldn't feel so wrong.

   Tillmann


 __**_
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/**mailman/listinfo/haskell-cafehttp://www.haskell.org/mailman/listinfo/haskell-cafe

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


Re: [Haskell-cafe] Fwd: 'let' keyword optional in do notation?

2012-08-09 Thread Tillmann Rendel

Hi,

Martijn Schrage wrote:

Would expanding each let-less binding to a separate let feel more
sound to you?


That was actually my first idea, but then two declarations at the same
level will not be in the same binding group, so

do x = y
   y = 1

would not compile. This would create a difference with all the other
places where bindings may appear.


But it would be in line with - bindings in the do notation, so maybe it 
wouldn't feel so wrong.


  Tillmann

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


Re: [Haskell-cafe] Fwd: 'let' keyword optional in do notation?

2012-08-08 Thread Simon Hengel
On Wed, Aug 08, 2012 at 12:22:39PM -0400, David Feuer wrote:
 Changing scoping rules based on whether things are right next to each
 other? No thanks.

Would expanding each let-less binding to a separate let feel more
sound to you?

Cheers,
Simon

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


Re: [Haskell-cafe] Fwd: 'let' keyword optional in do notation?

2012-08-08 Thread Martijn Schrage

On 08-08-12 19:01, Simon Hengel wrote:

On Wed, Aug 08, 2012 at 12:22:39PM -0400, David Feuer wrote:

Changing scoping rules based on whether things are right next to each
other? No thanks.

Would expanding each let-less binding to a separate let feel more
sound to you?

That was actually my first idea, but then two declarations at the same 
level will not be in the same binding group, so


do x = y
   y = 1

would not compile. This would create a difference with all the other 
places where bindings may appear.


However, having scope depend on things being next to each other (or 
rather, not having anything in between) is not new. Template Haskell 
declaration splices already cause separate binding groups for top-level 
declarations. Moreover, the new scope rule only holds for let-less 
bindings. If you use explicit lets nothing changes.


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


Re: [Haskell-cafe] Fwd: 'let' keyword optional in do notation?

2012-08-08 Thread David Feuer
Is it really so bad to use an explicit let when you need mutually recursive
bindings?
On Aug 8, 2012 1:51 PM, Martijn Schrage mart...@oblomov.com wrote:

  On 08-08-12 19:01, Simon Hengel wrote:

 On Wed, Aug 08, 2012 at 12:22:39PM -0400, David Feuer wrote:

  Changing scoping rules based on whether things are right next to each
 other? No thanks.


 Would expanding each let-less binding to a separate let feel more
 sound to you?


  That was actually my first idea, but then two declarations at the same
 level will not be in the same binding group, so

 do x = y
y = 1

 would not compile. This would create a difference with all the other
 places where bindings may appear.

 However, having scope depend on things being next to each other (or
 rather, not having anything in between) is not new. Template Haskell
 declaration splices already cause separate binding groups for top-level
 declarations. Moreover, the new scope rule only holds for let-less
 bindings. If you use explicit lets nothing changes.

 -- Martijn

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


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