- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Plugins
Mon, 2009-06-08, 20:04
Folks,
I tried to run the plugin tutorial at http://www.scala-lang.org/node/140 on Scala 2.7.4 and 2.7.5 and got compilation errors.
Is this code 2.8.0? If so, should I be running 2.8 against the nightlies or against some known stable snapshot?
Thanks,
David
--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp
I tried to run the plugin tutorial at http://www.scala-lang.org/node/140 on Scala 2.7.4 and 2.7.5 and got compilation errors.
Is this code 2.8.0? If so, should I be running 2.8 against the nightlies or against some known stable snapshot?
Thanks,
David
--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp
Tue, 2009-06-09, 00:07
#2
Re: Plugins
On Mon, Jun 8, 2009 at 12:46 PM, Anders Bach Nielsen <andersbach.nielsen@epfl.ch> wrote:
Hi David
The code in the examples should work for 2.7.x and the code needed for
2.8 (trunk) is shown in comments in the examples.
What is the error ?
I copied and pasted the code from http://www.scala-lang.org/node/140
When I compiled:
dpp@yak:~$ scalac Foo.scala
Foo.scala:24: error: not found: type StdPhase
private class DivByZeroPhase(prev: Phase) extends StdPhase(prev) {
^
Foo.scala:21: error: type mismatch;
found : DivByZero.this.DivByZeroPhase
required: scala.tools.nsc.Phase
def newPhase(prev: Phase) = new DivByZeroPhase(prev)
^
two errors found
dpp@yak:~$
Thanks,
David
/Anders
David Pollak wrote:
> Folks,
>
> I tried to run the plugin tutorial at http://www.scala-lang.org/node/140 on
> Scala 2.7.4 and 2.7.5 and got compilation errors.
>
> Is this code 2.8.0? If so, should I be running 2.8 against the nightlies or
> against some known stable snapshot?
>
> Thanks,
>
> David
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Git some: http://github.com/dpp
--
Anders Bach Nielsen | http://www.cs.au.dk/~abachn/
University of Aarhus | abachn@cs.au.dk
-
The reward of a thing well done is to have done it. -- Emerson
--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp
Tue, 2009-06-09, 01:57
#3
Re: Plugins
I remember running into an issue where StdPhase was not visible from the package I was using. I simple extended Phase (has the same constructor as StdPhase), and kept moving along.
If you want an example of creating/testing a scalac plugin (using maven), check out: http://github.com/jsuereth/osgi-scalac-plugin/tree/master
I hope to finalize that project if/when I start using OSGi in production again.
-Josh
On Mon, Jun 8, 2009 at 7:06 PM, David Pollak <feeder.of.the.bears@gmail.com> wrote:
If you want an example of creating/testing a scalac plugin (using maven), check out: http://github.com/jsuereth/osgi-scalac-plugin/tree/master
I hope to finalize that project if/when I start using OSGi in production again.
-Josh
On Mon, Jun 8, 2009 at 7:06 PM, David Pollak <feeder.of.the.bears@gmail.com> wrote:
On Mon, Jun 8, 2009 at 12:46 PM, Anders Bach Nielsen <andersbach.nielsen@epfl.ch> wrote:
Hi David
The code in the examples should work for 2.7.x and the code needed for
2.8 (trunk) is shown in comments in the examples.
What is the error ?
I copied and pasted the code from http://www.scala-lang.org/node/140
When I compiled:dpp@yak:~$ scalac Foo.scala
Foo.scala:24: error: not found: type StdPhase
private class DivByZeroPhase(prev: Phase) extends StdPhase(prev) {
^
Foo.scala:21: error: type mismatch;
found : DivByZero.this.DivByZeroPhase
required: scala.tools.nsc.Phase
def newPhase(prev: Phase) = new DivByZeroPhase(prev)
^
two errors found
dpp@yak:~$
Thanks,
David
/Anders
David Pollak wrote:
> Folks,
>
> I tried to run the plugin tutorial at http://www.scala-lang.org/node/140 on
> Scala 2.7.4 and 2.7.5 and got compilation errors.
>
> Is this code 2.8.0? If so, should I be running 2.8 against the nightlies or
> against some known stable snapshot?
>
> Thanks,
>
> David
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Git some: http://github.com/dpp
--
Anders Bach Nielsen | http://www.cs.au.dk/~abachn/
University of Aarhus | abachn@cs.au.dk
-
The reward of a thing well done is to have done it. -- Emerson
--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp
Tue, 2009-06-09, 07:57
#4
Re: Plugins
Hey David
Hmm, yes there is a change in how StdPhase is used in the compiler. I
have created a version that compiles and attached it to this email
divbyzero.tar.gz and I will go update the website to conform to the
changes in the compiler, thank you for pointing this out :)
If you want to do something larger (and it sound like you want to) then
instead of using the StdPhase use one of the Transformers. They already
extend StdPhase and give you the basics for traversing the tree and
picking up information. I wrote a little plugin some time ago to see the
base classes of all classes in a program (very simple) and it uses an
InforTransformer. See the file lincheck.tar.gz
I hope this helps
/Anders
David Pollak wrote:
> On Mon, Jun 8, 2009 at 12:46 PM, Anders Bach Nielsen <
> andersbach.nielsen@epfl.ch> wrote:
>
> > Hi David
> >
> > The code in the examples should work for 2.7.x and the code needed for
> > 2.8 (trunk) is shown in comments in the examples.
> >
> > What is the error ?
>
>
> I copied and pasted the code from http://www.scala-lang.org/node/140
>
> When I compiled:
>
> dpp@yak:~$ scalac Foo.scala
> Foo.scala:24: error: not found: type StdPhase
> private class DivByZeroPhase(prev: Phase) extends StdPhase(prev) {
> ^
> Foo.scala:21: error: type mismatch;
> found : DivByZero.this.DivByZeroPhase
> required: scala.tools.nsc.Phase
> def newPhase(prev: Phase) = new DivByZeroPhase(prev)
> ^
> two errors found
> dpp@yak:~$
>
>
> Thanks,
>
> David
>
>
> >
> >
> > /Anders
> >
> > David Pollak wrote:
> > > Folks,
> > >
> > > I tried to run the plugin tutorial at http://www.scala-lang.org/node/140on
> > > Scala 2.7.4 and 2.7.5 and got compilation errors.
> > >
> > > Is this code 2.8.0? If so, should I be running 2.8 against the nightlies
> > or
> > > against some known stable snapshot?
> > >
> > > Thanks,
> > >
> > > David
> > >
> > > --
> > > Lift, the simply functional web framework http://liftweb.net
> > > Beginning Scala http://www.apress.com/book/view/1430219890
> > > Follow me: http://twitter.com/dpp
> > > Git some: http://github.com/dpp
> >
> > --
> > Anders Bach Nielsen | http://www.cs.au.dk/~abachn/
> > University of Aarhus | abachn@cs.au.dk
> > -
> > The reward of a thing well done is to have done it. -- Emerson
> >
>
>
>
Tue, 2009-06-09, 08:17
#5
Re: Plugins
Hey
> > > > I tried to run the plugin tutorial at http://www.scala-lang.org/node/140on
> > > > Scala 2.7.4 and 2.7.5 and got compilation errors.
And now the guide should be up-to-date again!
/Anders
Tue, 2009-06-09, 17:37
#6
Re: Plugins
On Tue, Jun 9, 2009 at 12:12 AM, Anders Bach Nielsen <andersbach.nielsen@epfl.ch> wrote:
Hey
> > > > I tried to run the plugin tutorial at http://www.scala-lang.org/node/140on
> > > > Scala 2.7.4 and 2.7.5 and got compilation errors.
And now the guide should be up-to-date again!
Thanks!
/Anders
--
Anders Bach Nielsen | http://www.cs.au.dk/~abachn/
University of Aarhus | abachn@cs.au.dk
-
I've got a COUSIN who works in the GARMENT DISTRICT ...
--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp
Hi David
The code in the examples should work for 2.7.x and the code needed for
2.8 (trunk) is shown in comments in the examples.
What is the error ?
/Anders
David Pollak wrote:
> Folks,
>
> I tried to run the plugin tutorial at http://www.scala-lang.org/node/140 on
> Scala 2.7.4 and 2.7.5 and got compilation errors.
>
> Is this code 2.8.0? If so, should I be running 2.8 against the nightlies or
> against some known stable snapshot?
>
> Thanks,
>
> David
>