This page is no longer maintained — Please continue to the home page at www.scala-lang.org

scala-macros vs scala-virtualized

58 replies
rytz
Joined: 2008-07-01,
User offline. Last seen 45 weeks 5 days ago.
Re: scala-macros vs scala-virtualized
"source transformer def foreach(...) = ..."?macro sounds good to me.

On Saturday, February 18, 2012, √iktor Ҡlang wrote:
"source transformers"?

On Sat, Feb 18, 2012 at 11:09 PM, Chapin, Peter @ VTC <PChapin@vtc.vsc.edu> wrote:

I think “macro” is fine, personally. Yes there is some bad connotations associated with the word in some communities, but then there’s Lisp (Scheme, Clojure) and other languages that use the word to mean something quite different than what it means to C/C++ people. We would just be joining the ranks of those other languages. No problem.

 

Peter

 

From: scala-debate@googlegroups.com [mailto:scala-debate@googlegroups.com] On Behalf Of Bernd Johannes
Sent: Saturday, February 18, 2012 16:16
To: scala-debate@googlegroups.com
Cc: Simon Ochsenreither
Subject: Re: [scala-debate] scala-macros vs scala-virtualized

 

Am Mittwoch, 15. Februar 2012, 22:16:37 schrieb Simon Ochsenreither:

 

> The name "macro" is a 100% guarantee for a marketing nightmare, so it

> shouldn't be made worse by shipping it without any substantial example

> which can be explained to developers.

 

I can already imagine the headlines:

 

"after the longest suicide note in history scala has finally managed to fully erupt in insanity by adding #MACROS"

 

Well... to be honest - the first thing I thought when I heard "#MACROS" was "Oh dear - they won't do that - will they?". Now I know that we are talking about some substantially different things than those macros I was thinking about (flashback in the 80's... shudder).

 

But to me "macro" surely has a real negative bias. And I think I am not alone. So maybe its really worth thinking about names here. It won't be the first time in history where something is shipped with a label that's not as

--
Viktor Klang

Akka Tech LeadTypesafe - The software stack for applications that scale

Twitter: @viktorklang
Martin McNulty
Joined: 2011-10-13,
User offline. Last seen 42 years 45 weeks ago.
Re: scala-macros vs scala-virtualized
I can see it now:
    S O U R C E   T R A N S F O R M E R S             compiler plugins in disguise

2012/2/19 Lukas Rytz <lukas.rytz@epfl.ch>
"source transformer def foreach(...) = ..."?macro sounds good to me.

On Saturday, February 18, 2012, √iktor Ҡlang wrote:
"source transformers"?

On Sat, Feb 18, 2012 at 11:09 PM, Chapin, Peter @ VTC <PChapin@vtc.vsc.edu> wrote:

I think “macro” is fine, personally. Yes there is some bad connotations associated with the word in some communities, but then there’s Lisp (Scheme, Clojure) and other languages that use the word to mean something quite different than what it means to C/C++ people. We would just be joining the ranks of those other languages. No problem.

 

Peter

 

From: scala-debate@googlegroups.com [mailto:scala-debate@googlegroups.com] On Behalf Of Bernd Johannes
Sent: Saturday, February 18, 2012 16:16
To: scala-debate@googlegroups.com
Cc: Simon Ochsenreither
Subject: Re: [scala-debate] scala-macros vs scala-virtualized

 

Am Mittwoch, 15. Februar 2012, 22:16:37 schrieb Simon Ochsenreither:

 

> The name "macro" is a 100% guarantee for a marketing nightmare, so it

> shouldn't be made worse by shipping it without any substantial example

> which can be explained to developers.

 

I can already imagine the headlines:

 

"after the longest suicide note in history scala has finally managed to fully erupt in insanity by adding #MACROS"

 

Well... to be honest - the first thing I thought when I heard "#MACROS" was "Oh dear - they won't do that - will they?". Now I know that we are talking about some substantially different things than those macros I was thinking about (flashback in the 80's... shudder).

 

But to me "macro" surely has a real negative bias. And I think I am not alone. So maybe its really worth thinking about names here. It won't be the first time in history where something is shipped with a label that's not as

--
Viktor Klang

Akka Tech LeadTypesafe - The software stack for applications that scale

Twitter: @viktorklang

Alex Cruise
Joined: 2008-12-17,
User offline. Last seen 2 years 26 weeks ago.
Re: scala-macros vs scala-virtualized
I think "compile-time metaprogramming" will be effectively bikeshed-proof.  :)
-0xe1a
Simon Ochsenreither
Joined: 2011-07-17,
User offline. Last seen 42 years 45 weeks ago.
Re: scala-macros vs scala-virtualized

“type loaders and language-quotations.” (http://confluence.jetbrains.net/display/Kotlin/FAQ)

Maybe the name could focus more on the benefit for users and less on the implementation details.

d_m
Joined: 2010-11-11,
User offline. Last seen 35 weeks 2 days ago.
Re: scala-macros vs scala-virtualized

On Mon, Feb 20, 2012 at 11:23:16AM -0800, Simon Ochsenreither wrote:
> Maybe the name could focus more on the benefit for users and less on the
> implementation details.

So is that a vote for transmogrifier [1] then? ;)

Sorry, couldn't resist.

Naftoli Gugenheim
Joined: 2008-12-17,
User offline. Last seen 42 years 45 weeks ago.
scala-macros vs scala-virtualized
Perhaps we should keep macro as the official technical name, and keyword, but any "headlines," list of features, etc. (i.e., anything that doesn't require reading a full explanation to walk away with the message) shouldn't introduce it via the word "macro." For instance something like "Scala gets a lightweight alternative to compiler plugins (termed macros after their counterparts in languages like Nemerle, Lisp, etc.)" (I'm sure someone can word that better but hopefully the idea is clear).

On Saturday, February 18, 2012, Lukas Rytz wrote:
"source transformer def foreach(...) = ..."? macro sounds good to me.

On Saturday, February 18, 2012, √iktor Ҡlang wrote:
"source transformers"?

On Sat, Feb 18, 2012 at 11:09 PM, Chapin, Peter @ VTC <PChapin@vtc.vsc.edu> wrote:

I think “macro” is fine, personally. Yes there is some bad connotations associated with the word in some communities, but then there’s Lisp (Scheme, Clojure) and other languages that use the word to mean something quite different than what it means to C/C++ people. We would just be joining the ranks of those other languages. No problem.

 

Peter

 

From: scala-debate@googlegroups.com [mailto:scala-debate@googlegroups.com] On Behalf Of Bernd Johannes
Sent: Saturday, February 18, 2012 16:16
To: scala-debate@googlegroups.com
Cc: Simon Ochsenreither
Subject: Re: [scala-debate] scala-macros vs scala-virtualized

 

Am Mittwoch, 15. Februar 2012, 22:16:37 schrieb Simon Ochsenreither:

 

> The name "macro" is a 100% guarantee for a marketing nightmare, so it

> shouldn't be made worse by shipping it without any substantial example

> which can be explained to developers.

 

I can already imagine the headlines:

 

"after the longest suicide note in history scala has finally managed to fully erupt in insanity by adding #MACROS"

 

Well... to be honest - the first thing I thought when I heard "#MACROS" was "Oh dear - they won't do that - will they?". Now I know that we are talking about some substantially different things than those macros I was thinking about (flashback in the 80's... shudder).

 

But to me "macro" surely has a real negative bias. And I think I am not alone. So maybe its really worth thinking about names here. It won't be the first time in history where something is shipped with a label that's not as

--
Viktor Klang

Akka Tech LeadTypesafe - The software stack for applications that scale

Twitter: @viktorklang
Joshua.Suereth
Joined: 2008-09-02,
User offline. Last seen 32 weeks 5 days ago.
Re: scala-macros vs scala-virtualized

I like the term "typesafe macros" which implies more magikz and awesomez than just "macro"

On Feb 20, 2012 6:41 PM, "Naftoli Gugenheim" <naftoligug@gmail.com> wrote:
Perhaps we should keep macro as the official technical name, and keyword, but any "headlines," list of features, etc. (i.e., anything that doesn't require reading a full explanation to walk away with the message) shouldn't introduce it via the word "macro." For instance something like "Scala gets a lightweight alternative to compiler plugins (termed macros after their counterparts in languages like Nemerle, Lisp, etc.)" (I'm sure someone can word that better but hopefully the idea is clear).

On Saturday, February 18, 2012, Lukas Rytz wrote:
"source transformer def foreach(...) = ..."? macro sounds good to me.

On Saturday, February 18, 2012, √iktor Ҡlang wrote:
"source transformers"?

On Sat, Feb 18, 2012 at 11:09 PM, Chapin, Peter @ VTC <PChapin@vtc.vsc.edu> wrote:

I think “macro” is fine, personally. Yes there is some bad connotations associated with the word in some communities, but then there’s Lisp (Scheme, Clojure) and other languages that use the word to mean something quite different than what it means to C/C++ people. We would just be joining the ranks of those other languages. No problem.

 

Peter

 

From: scala-debate@googlegroups.com [mailto:scala-debate@googlegroups.com] On Behalf Of Bernd Johannes
Sent: Saturday, February 18, 2012 16:16
To: scala-debate@googlegroups.com
Cc: Simon Ochsenreither
Subject: Re: [scala-debate] scala-macros vs scala-virtualized

 

Am Mittwoch, 15. Februar 2012, 22:16:37 schrieb Simon Ochsenreither:

 

> The name "macro" is a 100% guarantee for a marketing nightmare, so it

> shouldn't be made worse by shipping it without any substantial example

> which can be explained to developers.

 

I can already imagine the headlines:

 

"after the longest suicide note in history scala has finally managed to fully erupt in insanity by adding #MACROS"

 

Well... to be honest - the first thing I thought when I heard "#MACROS" was "Oh dear - they won't do that - will they?". Now I know that we are talking about some substantially different things than those macros I was thinking about (flashback in the 80's... shudder).

 

But to me "macro" surely has a real negative bias. And I think I am not alone. So maybe its really worth thinking about names here. It won't be the first time in history where something is shipped with a label that's not as

--
Viktor Klang

Akka Tech LeadTypesafe - The software stack for applications that scale

Twitter: @viktorklang
Dave Griffith
Joined: 2009-01-14,
User offline. Last seen 42 years 45 weeks ago.
Re: scala-macros vs scala-virtualized

There's a real difference here between C-style macros and Lisp-style-
but-typesafe macros. C-style macros mostly cover use cases that Scala
handles with closures, by-name parameters, continuations, monads, or
the raw, throbbing power of the JVM JIT optimizer. They are mostly
remembered poorly, probably because most of the macros actually
created were pretty damn poor. I remember some exception-handling
macros back in the day, wrapping setjmp/longjmp. Gah, it was like
watching a dog try to play the trombone. If I was coming to Scala
anew and heard it had macros, I could easily assume it was because
macros were a workaround for the sort of functionality it was stuck
with. Not worth my time. OTOH, if I knew Lisp, and had heard that
some fancy new Lisp followers had made their macros type-safe, well
that's a horse of a different color.

"Compile-time type-safe metaprogramming". Make 'em interested, not
ill.

--Dave

On Feb 20, 7:04 pm, Josh Suereth wrote:
> I like the term "typesafe macros" which implies more magikz and awesomez
> than just "macro"
> On Feb 20, 2012 6:41 PM, "Naftoli Gugenheim" wrote:
>
>
>
>
>
>
>
> > Perhaps we should keep macro as the official technical name, and keyword,
> > but any "headlines," list of features, etc. (i.e., anything that doesn't
> > require reading a full explanation to walk away with the message) shouldn't
> > introduce it via the word "macro." For instance something like "Scala gets
> > a lightweight alternative to compiler plugins (termed macros after their
> > counterparts in languages like Nemerle, Lisp, etc.)" (I'm sure someone can
> > word that better but hopefully the idea is clear).
>
> > On Saturday, February 18, 2012, Lukas Rytz wrote:
>
> >> "source transformer def foreach(...) = ..."?
> >> macro sounds good to me.
>
> >> On Saturday, February 18, 2012, √iktor Ҡlang wrote:
>
> >>> "source transformers"?
>
> >>> On Sat, Feb 18, 2012 at 11:09 PM, Chapin, Peter @ VTC <
> >>> PCha...@vtc.vsc.edu> wrote:
>
> >>> I think “macro” is fine, personally. Yes there is some bad connotations
> >>> associated with the word in some communities, but then there’s Lisp
> >>> (Scheme, Clojure) and other languages that use the word to mean something
> >>> quite different than what it means to C/C++ people. We would just be
> >>> joining the ranks of those other languages. No problem.****
>
> >>> ** **
>
> >>> Peter****
>
> >>> ** **
>
> >>> *From:* scala-debate@googlegroups.com [mailto:
> >>> scala-debate@googlegroups.com] *On Behalf Of *Bernd Johannes
> >>> *Sent:* Saturday, February 18, 2012 16:16
> >>> *To:* scala-debate@googlegroups.com
> >>> *Cc:* Simon Ochsenreither
> >>> *Subject:* Re: [scala-debate] scala-macros vs scala-virtualized****
>
> >>> ** **
>
> >>> Am Mittwoch, 15. Februar 2012, 22:16:37 schrieb Simon Ochsenreither:****
>
> >>> ** **
>
> >>> > The name "macro" is a 100% guarantee for a marketing nightmare, so it*
> >>> ***
>
> >>> > shouldn't be made worse by shipping it without any substantial example
> >>> ****
>
> >>> > which can be explained to developers.****
>
> >>> ** **
>
> >>> I can already imagine the headlines:****
>
> >>> ** **
>
> >>> "after the longest suicide note in history scala has finally managed to
> >>> fully erupt in insanity by adding #MACROS"****
>
> >>> ** **
>
> >>> Well... to be honest - the first thing I thought when I heard "#MACROS"
> >>> was "Oh dear - they won't do that - will they?". Now I know that we are
> >>> talking about some substantially different things than those macros I was
> >>> thinking about (flashback in the 80's... shudder).****
>
> >>> ** **
>
> >>> But to me "macro" surely has a real negative bias. And I think I am not
> >>> alone. So maybe its really worth thinking about names here. It won't be the
> >>> first time in history where something is shipped with a label that's not as
>
> >>> --
> >>> Viktor Klang
>
> >>> Akka Tech Lead
> >>> Typesafe - The software stack for
> >>> applications that scale
>
> >>> Twitter: @viktorklang

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland