Skip to content

Instantly share code, notes, and snippets.

View paulp's full-sized avatar
🤫

Paul Phillips paulp

🤫
  • CAZ, Inc.
  • Cascadia Autonomous Zone
View GitHub Profile
-##: getfield ### // Field $outer:Lscala/tools/nsc/typechecker/Typers$Typer;
-##: invokeinterface ###, 1 // InterfaceMethod scala/tools/nsc/typechecker/ContextErrors$TyperContextErrors.scala$tools$nsc$typechecker$ContextErrors$TyperContextErrors$$$outer:()Lscala/tools/nsc/typechecker/ContextErrors;
-##: checkcast ### // class scala/tools/nsc/typechecker/Analyzer
-##: invokeinterface ###, 1 // InterfaceMethod scala/tools/nsc/typechecker/Analyzer.global:()Lscala/tools/nsc/Global;
-##: invokeinterface ###, 1 // InterfaceMethod scala/reflect/internal/StdNames.nme:()Lscala/reflect/internal/StdNames$nme$;
-##: invokevirtual ### // Method scala/reflect/internal/StdNames$TermNames.EVIDENCE_PARAM_PREFIX:()Ljava/lang/String;
+##: ldc_w ### // String evidence$
commit a96a65e3fcd70ec9e14221867ae7a34a9287acd0
Merge: b24f58e8d7 59f0214e5d
Author: Paul Phillips <[email protected]>
Date: 28 minutes ago
Merge branch 'master' into prime
Conflicts:
build.xml
src/build/maven/maven-deploy.xml
@paulp
paulp / gist:2970006
Created June 22, 2012 03:27
repl implicits fun
scala> class A[T] { implicit def f(x: T): List[T] = Nil }
warning: there were 1 feature warnings; re-run with -feature for details
defined class A
scala> implicits[A[Int]].conversions >
implicit def f(x: Int): scala.List[Int]
scala> implicits[Predef.type].from[Int] >
implicit def int2IntegerConflict(x: Int): Object
# it's fast (in scala terms) because it stops after typer
# it could be a lot faster if it used fsc or something, we're still paying the whole startup cost
# here's a test/demo case
% scalac -d /tmp test/files/run/global-assist.scala
# meta-test
% scala -cp /tmp Test https://raw.github.com/paulp/scala/topic/global-assist/test/files/run/global-assist.scala
// Top Level
object Test
# a slightly larger example (see https://gist.github.com/2979938 )
% pscala -cp /tmp Test src/library/scala/collection/mutable
// Top Level
abstract class ArrayBuilder[T] extends Builder[T,Array[T]] with Serializable
abstract class ArrayOps[T] extends ArrayLike[T,Array[T]] with CustomParallelizable[T,scala.collection.parallel.mutable.ParArray[T]]
abstract class LazyBuilder[Elem, +To] extends Builder[Elem,To]
abstract class PriorityQueueProxy[A] extends PriorityQueue[A] with Proxy
abstract class WrappedArray[T] extends AbstractSeq[T] with IndexedSeq[T] with ArrayLike[T,scala.collection.mutable.WrappedArray[T]] with CustomParallelizable[T,scala.collection.parallel.mutable.ParArray[T]]
https://issues.scala-lang.org/browse/SI-5969
uncaught exception during compilation: java.lang.AssertionError
java.lang.AssertionError:
assert(fn.tpe != null, tree)
| | |
g | false
null
// a.scala
// Fri Jun 29 16:15:08 PDT 2012
import scala.reflect.makro.Context
import collection.mutable.ListBuffer
import collection.mutable.Stack
import language.experimental.macros
object Macros {
val conversionChars = "%BbCcdEefGgHhinosuXx"
14a15
> -feature Emit warning and location for usages of features that should be imported explicitly.
18a20
> -language:<feature> Enable one or more language features.
25c27
< -target:<target> Target platform for object files. (jvm-1.5,msil) default:jvm-1.5
---
> -target:<target> Target platform for object files. (jvm-1.5,jvm-1.5-asm,jvm-1.6,jvm-1.7,msil) default:jvm-1.5
47c49
< <phase> means one or a list of:
@paulp
paulp / gist:3072374
Created July 8, 2012 19:14
scalac: the 1000 longest method names
scala$tools$nsc$typechecker$DestructureTypes$DestructureType$_setter_$scala$tools$nsc$typechecker$DestructureTypes$DestructureType$$openSymbols_$eq
scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$_setter_$scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$$NodeSpecPattern_$eq
scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$_setter_$scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$$EdgeSpecPattern_$eq
scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$_setter_$scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$$HideNodesRegex_$eq
scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$_setter_$scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$$HideEdgesRegex_$eq
scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$_setter_$scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$$NodeSpecRegex_$eq
scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$_setter_$scala$tools$nsc$doc$model$diagram$DiagramDirectiveParser$$EdgeSpecRegex_$eq
scala$reflect$inte
[paulp@leaf trunk1 (master)]$ newtest bud/topic/partest-no-actors
Will check out bud/topic/partest-no-actors and run:
ANT_OPTS="-Xmx2g -Xms2g -Xss2m -XX:MaxPermSize=512m -XX:+UseParallelGC -Djvm.opts=""" ant -Dscalac.args="" all.clean test
[1] 25876
Note: checking out 'bud/topic/partest-no-actors'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.