profile
viewpoint
Nicolas Stucki nicolasstucki LAMP / EPFL Switzerland

dotty-linker/dotty 39

Modified version of dotty suporting language specific and library-specific optimizations

lampepfl/xml-interpolator 11

XML String Interpolator for Dotty

liufengyun/bench 3

benchmark compilation of Dotty

dotty-staging/shapeless 2

Generic programming for Scala

liufengyun/bench-web 2

A simple web interface for benchmarks

leafty/sav-prooving-data-structure 1

SAV Project: Proving Correctness of Scala Lists Data Structure

nicolasstucki/dotty 1

Research platform for new language concepts and compiler technologies for Scala.

issue closedlampepfl/dotty

RepeatedParamType should not be a subtype of anything (until ElimRepeated)

While looking at scala/bug#4775, scala/bug#8344, scala/bug#11015, I was thinking that T* should not be a subtype of Seq[T] (nor even Any, as it's not an expression type) until we've eliminated repeated params. This is important for overloading resolution (see referenced bugs).

Right? 🤔

closed time in 8 minutes

adriaanm

create barnchdotty-staging/scalatest

branch : increase-heapsize-community-build

created branch time in 8 minutes

push eventdotty-staging/scalatest

Guillaume Martres

commit sha 52184070338b6e8935181a97a0d7b25a359697e1

.jvmopts: Increase max heap size to 10 GB The previous default of 4 GB lead to the JVM getting stuck in garbage collection seemingly forever.

view details

push time in 10 minutes

issue commentscalacenter/scala-3-migration-guide

Document editors (metals) support for cross-built projects

Not sure where to add it, we are saying here that Scala 3 is supported. We could add it also to overview, but the default behaviour is that Metals supports multiple versions at the same time.

We could add a mention in migration guide that multiple versions are supported and link to Metals with a comment to check exactly what is supported.

jto

comment created time in 10 minutes

create barnchdotty-staging/scalatest

branch : increase-heapsize

created branch time in 11 minutes

issue commentscalacenter/scala-3-migration-guide

Document editors (metals) support for cross-built projects

I agree that we are lacking documentation on this side. But it is a general concern about cross-built project (version and platform).

@tgodzik Don't you think it should be documented in the Metals website? This way we could add a link from here and maybe elaborate further for the context of the migration.

jto

comment created time in 29 minutes

PR opened lampepfl/dotty

Hirarchy diagram tests for scala3doc
+146 -0

0 comment

3 changed files

pr created time in 32 minutes

PR opened lampepfl/dotty

Make Windows CI faster

Make Windows CI faster

+27 -1

0 comment

1 changed file

pr created time in 32 minutes

create barnchdotty-staging/dotty

branch : fix-windows-ci

created branch time in 32 minutes

create barnchlampepfl/dotty

branch : diagram-tests

created branch time in 32 minutes

pull request commentlampepfl/dotty

[sbt-dotty] Use sbt loader as parent of scala instance loader

@eed3si9n @eatkins

My plan is to use a filtered version of appConfiguration.provider.loader as a parent of scalaInstance.loader so that the Scala 3 compiler can load the xsbti.* classes from the same loader than sbt. A similar thing is already done inside sbt to load the jline Terminal provided by sbt in the Scala REPL (code here)

Right now I am testing this in sbt-dotty but my plan is to implement it in sbt by reusing the scalaInstanceTopLoader key. This thing will allow me to get rid of the messy CompilerClassLoader that is needed today.

Can you confirm that this is the right direction?

adpi2

comment created time in 34 minutes

issue openedscalacenter/scala-3-migration-guide

Document editors (metals) support for cross-built projects

AFAIK there's no documentation available rn about using an editor (vscode) together with metals and have support for both Scala 2.x and Scala 3 in a single project. It would be nice if that rather common use case was supported and documented.

created time in 35 minutes

push eventJetBrains/intellij-scala

Dmitrii Naumenko

commit sha 00c124ab3fb3aa4a230cab87e92a96cf9e368491

extract utility extension method #SCL-16515

view details

push time in 38 minutes

PR closed JetBrains/intellij-scala

Reviewers
don't add trailing commas for block parameters not enclosed in parentheses

Hey, this is my first contribution here, so let me know if I need to do something differently.

This change should fix https://youtrack.jetbrains.com/issue/SCL-16515

I'm not particularly fond of the code. I didn't study the API very deeply, I just went with the simplest thing that seemed to fix the issue. I'm open to any suggestions to make it cleaner.

I'd like to use the setting Trailing Comma: Add when multiline but until this is fixed, it is nearly unusable.

+18 -3

1 comment

2 changed files

piton4k

pr closed time in 40 minutes

pull request commentJetBrains/intellij-scala

don't add trailing commas for block parameters not enclosed in parentheses

Thanks for your contribution! I will manually cherry-pick the fix.

piton4k

comment created time in 40 minutes

push eventJetBrains/intellij-scala

Artyom Semyonov

commit sha 49e641de2ca1377a2cde53137ec3c022b9d69c00

Compilation charts: fix zoom action. #SCL-17802

view details

Nikolay.Tropin

commit sha 049d1c71d4295f8ac58219c3ae0948de52cebaff

fix NPE null editor is passed sometimes, for example in ShowAutoImportPass.getImportHints EA-244812

view details

Nikolay.Tropin

commit sha 8411b6fefc4fe99e4c914e84cb30310f3452bf96

don't restart daemon and clear BuildManager state for the default project EA-247139

view details

Nikolay.Tropin

commit sha 91a20bbfbc7012410677f8b20d3eb4dab754e640

use platform api to run timing-based performance tests it should have more robust computation of expected time depending on hardware #flakyTest

view details

Nikolay.Tropin

commit sha 651053ccc0ddca79b1a96d21fec337d3a493de9e

use `textContains` method it is optimized for AST based psi elements HighlightingPerformanceTest fixed

view details

builduser

commit sha 5ff3014443935ce0dbf867032958cefae24affa1

Merged branch idea203.release-niktrop into idea203.release

view details

builduser

commit sha c29fa7a5d5b856367c356a90728facdae3d6d99e

Merged branch idea203.release-dnaumenko into idea203.release

view details

Pavel Fatin

commit sha 8f73b521c68575e6a043409dc76da73489318b47

TASTy: v3.0.0-M2

view details

Martin Pitoňák

commit sha 8e129774a30a62f8082eac5affd792af2f80f95c

don't add trailing commas for block parameters not enclosed in parentheses #SCL-16515 fixed

view details

Dmitrii Naumenko

commit sha 278f8c0d6f71635f9a8b8a6b707d0ba948da255c

extract utility extension method #SCL-16515

view details

Dmitrii Naumenko

commit sha c8c4e5fee4a58b4360282bdb9deea12e549f4ed9

extract utility extension method, move method call closer to usage place #SCL-16515

view details

push time in 41 minutes

Pull request review commentlampepfl/dotty

Fix #10464: Match overridden definitions

+import scala.quoted._++object MatchMac {++    inline def apply(inline any: Any): Unit = ${ printMacImpl('any) }++    def printMacImpl(any: Expr[Any])(using Quotes): Expr[Unit] = {+      import quotes.reflect._+      val res = any match {+        case '{ ($f: Person).name } => "matched!"+        case _ => "not matched"+      }+      '{ println(${Expr(res)}) }+    }

The subtle semantics in quoted patterns may cause problems.

Maybe the programmer can change to Reflection for such use cases?

Or, instead of quoted patterns, add extractors to support pattern match on Expr[T] with clear intention and more predictable semantics.

nicolasstucki

comment created time in 43 minutes

issue commentlampepfl/dotty

Adopt the configurable warning mechanism from Scala 2.13.2

@som-snytt have you pushed the changes to some branch? Then maybe I could have a look

smarter

comment created time in an hour

issue commentlampepfl/dotty

Adopt the configurable warning mechanism from Scala 2.13.2

@prolativ I did a little bit on -Wconf and some more on "align compiler options with scala 2". I didn't do work on reporters yet, so you can pick it up if you like. I know Martin doesn't favor warnings, so I think the important use case is migration warnings. I have some day job obligations. I didn't look further at -language as merely warning suppression.

smarter

comment created time in an hour

pull request commentlampepfl/dotty

[sbt-dotty] Use sbt loader as parent of scala instance loader

OK, I'd be interested in hearing the opinion of the sbt maintainers on this direction.

adpi2

comment created time in an hour

issue commentlampepfl/dotty

Adopt the configurable warning mechanism from Scala 2.13.2

The sooner the better of course, but I don't think it's critical for RC1.

smarter

comment created time in an hour

pull request commentlampepfl/dotty

[sbt-dotty] Use sbt loader as parent of scala instance loader

@smarter

If this works well enough, could this be done upstream in sbt for Scala 2 too so we don't need a special case just for Scala 3?

Yes absolutely I test it first in sbt-dotty then I will generalize in sbt for all Scala versions.

adpi2

comment created time in an hour

pull request commentlampepfl/dotty

[sbt-dotty] Use sbt loader as parent of scala instance loader

This PR fix the problem by using the sbt ClassLoader as a parent of the ScalaInstance.loader.

If this works well enough, could this be done upstream in sbt for Scala 2 too so we don't need a special case just for Scala 3?

adpi2

comment created time in an hour

PR opened lampepfl/dotty

Scala3doc/better api urls
+979 -781

0 comment

45 changed files

pr created time in an hour

pull request commentlampepfl/dotty

[sbt-dotty] Use sbt loader as parent of scala instance loader

As a side note, here is the code in Mill that create the ScalaInstance loader: https://github.com/lihaoyi/mill/blob/aa3240a52a72cfa5fe76c4d4c747f7f61eef2f1d/scalalib/worker/src/ZincWorkerImpl.scala#L309-L321

adpi2

comment created time in an hour

pull request commentlampepfl/dotty

[sbt-dotty] Use sbt loader as parent of scala instance loader

The new sbt-dotty works well without the CompilerClassLoader.

However Mill won't work until we apply the same logic inside it: Mill should create a ScalaInstance whose loader is compatible with the Zinc loader.

So, before merging this PR, I will have to:

  • apply the ScalaInstance loader fix in Mill
  • release Mill
  • update the community build projects that rely on Mill

@sjrd and @smarter: Do you confirm this is the right direction?

adpi2

comment created time in an hour

issue commentlampepfl/dotty

Adopt the configurable warning mechanism from Scala 2.13.2

@som-snytt what's the status of this? Is choosing the proper compiler setting name the only blocker? If think it might be quite important to reproduce scala2's functionality before 3.0.0-RC1. Otherwise users who are used to treating warnings as errors might be reluctant to switch to scala3. @smarter what do you think?

smarter

comment created time in an hour

push eventlampepfl/dotty

Andrzej Ratajczak

commit sha 35c1c90c3b6111f7745645ce94e0a44c846b920b

Handle exports presenting in scala3doc

view details

Andrzej Ratajczak

commit sha f8e2559d14a368793e151a3247b3db9a560f86e2

Add proper flag exported handling in compiler and fix type presentation for constant types

view details

Andrzej Ratajczak

commit sha 5633399b7313b3bc3e0e6130830db4bcae6c3cbb

Add testcases of exports for manual testing

view details

Andrzej Ratajczak

commit sha ff3db41f0355c1a4da5d51e1fe48f1fd47176164

Handle exports of object properties

view details

Andrzej Ratajczak

commit sha 1efc4af5945880df5c07fbf6b24cd626da1a720a

Normalize name of objects with exported definitions

view details

Krzysztof Romanowski

commit sha 85e48f77970b3b627a840538d5a3b52be9ea9a1a

Merge pull request #10504 from BarkingBad/scala3doc-exports Handle exports presenting in scala3doc

view details

push time in an hour

PR merged lampepfl/dotty

Reviewers
Handle exports presenting in scala3doc
+91 -7

2 comments

14 changed files

BarkingBad

pr closed time in an hour

more