2014-01-27 4 views
1

Я пытаюсь начать экспериментировать с Lightweight Modular Staging, , но на их веб-странице не хватает простого простого «тестового» примера, показывающего все от начала до конца, что бы проверить, что все установлено и настроено правильно. В результате я борюсь за это. Я пытаюсь подражать содержимому, которое я нашел в подкаталогах test-src ядра LMS.Начиная с облегченного модульного этапа

До сих пор я сделал следующее:

  • клонировал и установил LMS core от GitHub
  • установлена ​​SBT tool по запросу
  • установили virtualized scala от GitHub

Затем я попытался создание нового проекта SBT, содержащего:

файл конфигурации build.sbt:

name := "lms-tutorial" 

scalaOrganization := "org.scala-lang.virtualized" 

scalaVersion := "2.10.1" 

libraryDependencies += "EPFL" %% "lms" % "0.3-SNAPSHOT" 

scalacOptions += "-Yvirtualize" 

И простая программа SRC/главная/Скала/hw.scala:

package scala.virtualization.lms 
package epfl 

import common._ 

object Hi { 
    def snippet(x: Rep[Int]) = { 
      def compute(b: Boolean): Rep[Int] = { 
       // the if is executed in the first stage 
       if (b) 1 else x 
      } 
      compute(true)+compute(1==1) 
    } 

    def main(args: Array[String]) = 
     println("Hello World!") 
} 

Но я не могу сделать его компиляции. Я получаю следующее сообщение об ошибке:

[error] ....../src/main/scala/hw.scala:22: not found: type Rep 
[error]  def compute(b: Boolean): Rep[Int] = { 
[error]        ^
[error] ....../src/main/scala/hw.scala:21: not found: type Rep 
[error] def snippet(x: Rep[Int]) = { 
[error]    ^
[error] two errors found 
[error] (compile:compile) Compilation failed 

«Rep» является основной конструкцией СДО, и я считаю, что должна быть импортирована из common._ но почему-то не работает. Что я делаю не так?

ответ

0

Элемент абстрактного типа Rep[T] указан внутри черты Base. Чтобы использовать типы Rep[T], вам необходимо написать свои программы внутри композиции микширования, которая содержит черту Base.

Самый простой способ начать использовать LMS - следовать за LMS tutorial от PLDI 2013.

Смежные вопросы