scala-macros

    0熱度

    1回答

    我創建了a small project on github來探索ScalaFx和其他一些我想用於更大項目的東西。目前,它包含一個單獨的子項目,這是一個使用ScalaFX和ScalaFXML編寫的簡單計算器。 該項目使用SBT命令calculator/run建立和運行良好。 我正在嘗試使用sbt-native-packager進行打包。我添加了一個名爲「exemple-cli」(來自sbt-nati

    16熱度

    2回答

    昨晚我試圖找出這個沒有形狀的問題熬夜,我恐怕如果我沒有得到它,它會吃我的晚上我的胸部,所以在這裏。 在這個最小化版本,我只是定義類型類,將遞歸轉換case類爲heterogeneous名單: import shapeless._ trait DeepHLister[R <: HList] extends DepFn1[R] { type Out <: HList } trait LowPr

    0熱度

    1回答

    我遇到了一些問題,我寫了一個宏幫助我將作爲案例類實例表示的度量記錄到InfluxDB。我認爲我有一個類型擦除問題,並且tyep參數T正在丟失,但我不完全確定發生了什麼。 (這也是我第一次接觸到斯卡拉宏) import scala.language.experimental.macros import play.api.libs.json.{JsNumber, JsString, JsObject

    3熱度

    2回答

    我剛剛更新了一個項目,該項目在2.10下使用了宏觀天堂2.0快照;與宏觀天堂2.0的最終版本,它告訴我,當我2.10(不2.11)下編譯如下: Quasiquotes宏觀天堂斯卡拉2.10需要一個支持庫的依賴性。以下行添加到您的SBT編譯:libraryDependencies + =「org.scalamacros」 %%因爲依賴輪番上漲,作爲其經常依賴「quasiquotes」%「2.0.0」

    1熱度

    1回答

    我有一個案例類註釋字段,如: case class Foo(@alias("foo") bar: Int) 我有處理這個類的聲明宏: val (className, access, fields, bases, body) = classDecl match { case q"case class $n $m(..$ps) extends ..$bs { ..$ss }" => (n

    1熱度

    1回答

    我不確定它是否重複Type Parameters on Scala Macro Annotations或不。 我試圖讓宏觀註釋類型參數: class builder extends StaticAnnotation { def macroTransform(annottees: Any*) = macro builderMacro.impl } //.... val q"new $

    1熱度

    1回答

    val cbfType = appliedType( typeOf[collection.generic.CanBuildFrom[_, _, _]].typeConstructor, typeOf[List[_]].typeConstructor :: typeOf[String] :: typeOf[List[String]] :: Nil

    1熱度

    1回答

    我試圖總結劇中JSON寫入宏擴展 def encoder[T] = Json.writes[T] 但T是未知的,這樣就不會編譯,它抱怨 no unapply method found 我知道我可以用JsMacroImpl.reads擴展代替Json.writes[T]。 有沒有更好的方法來做到這一點?

    4熱度

    1回答

    如果我想隱式地將兩個對象從一個對象轉換爲另一個對象,有沒有辦法使用像Iso宏這樣的東西來做到這一點? 舉例來說,如果我有這樣的: implicit def listToMap[A, B](l: List[(A, B)]): Map[A, B] = l.toMap implicit def mapToList[A, B](m: Map[A, B]): List[(A, B)] = m.toList

    3熱度

    1回答

    在我們的圖書館,我們有規定,像這樣的宏: def extractNamed[A]: Any = macro NamedExtractSyntax.extractNamedImpl[A] 本宏使用它的類型簽名來返回apply方法,其參數匹配其輸入,把案件類的apply方法。 的想法是,這使得我們的圖書館的用戶使用Scala的命名參數,像這樣: lazy val fruitExtractor =