# Welcome!
This is the official repository for the [Scala Programming Language](http://www.scala-lang.org).
# How to contribute
To contribute to the Scala standard library, Scala compiler, and Scala Language Specification, please send us a [pull request](https://help.github.com/articles/using-pull-requests/#fork--pull) from your fork of this repository.
We do have to ask you to sign the [Scala CLA](http://www.lightbend.com/contribute/cla/scala) before we can merge any of your work into our code base, to protect its open source nature.
For more information on building and developing the core of Scala, make sure to read
the rest of this README!
In order to get in touch with other Scala contributors, join
[scala/contributors](https://gitter.im/scala/contributors) (Gitter) or post on
[contributors.scala-lang.org](http://contributors.scala-lang.org) (Discourse).
# Reporting issues
Please report bugs at the [scala/bug issue tracker](https://github.com/scala/bug/issues). We use the [scala/scala-dev tracker](https://github.com/scala/scala-dev/issues) for coordinating bigger work items.
# Get in touch!
If you need some help with your PR at any time, please feel free to @-mention anyone from the list below, and we will do our best to help you out:
| | username | talk to me about... |
--------------------------------------------------------------------------------------------------|----------------------------------------------------------------|---------------------------------------------------|
<img src="https://avatars.githubusercontent.com/adriaanm" height="50px" title="Adriaan Moors"/> | [`@adriaanm`](https://github.com/adriaanm) | type checker, pattern matcher, infrastructure, language spec |
<img src="https://avatars.githubusercontent.com/SethTisue" height="50px" title="Seth Tisue"/> | [`@SethTisue`](https://github.com/SethTisue) | build, developer docs, community build, Jenkins, library, the welcome-to-Scala experience |
<img src="https://avatars.githubusercontent.com/retronym" height="50px" title="Jason Zaugg"/> | [`@retronym`](https://github.com/retronym) | compiler performance, weird compiler bugs, Java 8 lambdas, REPL |
<img src="https://avatars.githubusercontent.com/Ichoran" height="50px" title="Rex Kerr"/> | [`@Ichoran`](https://github.com/Ichoran) | collections library, performance |
<img src="https://avatars.githubusercontent.com/lrytz" height="50px" title="Lukas Rytz"/> | [`@lrytz`](https://github.com/lrytz) | optimizer, named & default arguments |
<img src="https://avatars.githubusercontent.com/VladUreche" height="50px" title="Vlad Ureche"/> | [`@VladUreche`](https://github.com/VladUreche) | specialization, Scaladoc tool |
<img src="https://avatars.githubusercontent.com/densh" height="50px" title="Denys Shabalin"/> | [`@densh`](https://github.com/densh) | quasiquotes, parser, string interpolators, macros in standard library |
<img src="https://avatars.githubusercontent.com/xeno-by" height="50px" title="Eugene Burmako"/> | [`@xeno-by`](https://github.com/xeno-by) | macros and reflection |
<img src="https://avatars.githubusercontent.com/heathermiller" height="50px" title="Heather Miller"/> | [`@heathermiller`](https://github.com/heathermiller) | documentation |
<img src="https://avatars.githubusercontent.com/dragos" height="50px" title="Iulian Dragos"/> | [`@dragos`](https://github.com/dragos) | specialization, back end |
<img src="https://avatars.githubusercontent.com/axel22" height="50px" title="Aleksandr Prokopec"/> | [`@axel22`](https://github.com/axel22) | collections, concurrency, specialization |
<img src="https://avatars.githubusercontent.com/janekdb" height="50px" title="Janek Bogucki"/> | [`@janekdb`](https://github.com/janekdb) | documentation |
P.S.: If you have some spare time to help out around here, we would be delighted to add your name to this list!
# Repository structure
```
scala/
+--build.sbt The main sbt build script
+--lib/ Pre-compiled libraries for the build
+--src/ All sources
+---/library Scala Standard Library
+---/reflect Scala Reflection
+---/compiler Scala Compiler
+---/eclipse Eclipse project files
+---/intellij IntelliJ project templates
+--spec/ The Scala language specification
+--scripts/ Scripts for the CI jobs (including building releases)
+--test/ The Scala test suite
+---/files Partest tests
+---/junit JUnit tests
+--build/ [Generated] Build output directory
```
# Get ready to contribute
## Requirements
You need the following tools:
- Java SDK. The baseline version is 8 for both 2.12.x and 2.13.x. It may be possible to use a
later SDK for local development, but the CI will verify against the baseline
version.
- sbt. We recommend the [sbt-extras](https://github.com/paulp/sbt-extras) runner
script. It provides sensible default jvm options (stack and heap size).
Mac OS X and Linux work. Windows may work if you use Cygwin. Community help with keeping
the build working on Windows is appreciated.
## Tools we use
We are grateful for the following OSS licenses:
- [JProfiler Java profiler](https://www.ej-technologies.com/products/jprofiler/overview.html)
- [YourKit Java Profiler](https://www.yourkit.com/java/profiler/)
- [IntelliJ IDEA](https://www.jetbrains.com/idea/download/)
## Build setup
### Basics
During ordinary development, a new Scala build is built by the
previously released version. For short we call the previous release
"starr": the stable reference Scala release. Building with starr is
sufficient for most kinds of changes.
However, a full build of Scala (a *bootstrap*, as performed by our CI)
requires two layers. This guarantees that every Scala version can
build itself. If you change the code generation part of the Scala
compiler, your changes will only show up in the bytecode of the
library and compiler after a bootstrap. See below for how to do a
bootstrap build locally.
For history on how the current scheme was arrived at, see
https://groups.google.com/d/topic/scala-internals/gp5JsM1E0Fo/discussion.
### Using the sbt build
Once you've started an `sbt` session you can run one of the core commands:
- `compile` compiles all sub-projects (library, reflect, compiler, scaladoc, etc)
- `scala` / `scalac` run the REPL / compiler directly from sbt (accept options /
arguments)
- `dist/mkBin` generates runner scripts (`scala`, `scalac`, etc) in `build/quick/bin`
- `dist/mkPack` creates a build in the Scala distribution format in `build/pack`
- `test` runs the JUnit test, `testOnly *immutable.ListTest` runs a subset
- `partest` runs partest tests (accepts options, try `partest --help`)
- `publishLocal` publishes a distribution locally (can be used as `scalaVersion` in
other sbt projects)
- Optionally `set baseVersionSuffix := "-bin-abcd123-SNAPSHOT"`
where `abcd123` is the git hash of the revision being published. You can also
use something custom like `"-bin-mypatch"`. This changes the version number from
`2.12.2-SNAPSHOT` to something more stable (`2.12.2-bin-abcd123-SNAPSHOT`).
- Note that the `-bin` string marks the version binary compatible. Using it in
sbt will cause the `scalaBinaryVersion` to be `2.12`. If the version is not
binary compatible, we recommen
没有合适的资源?快使用搜索试试~ 我知道了~
scala 2.12.4 标准库源码
5星 · 超过95%的资源 需积分: 12 16 下载量 163 浏览量
2017-12-17
11:08:21
上传
评论
收藏 5.72MB GZ 举报
温馨提示
共10504个文件
scala:6610个
check:2524个
flags:616个
Scala是一门多范式的编程语言,一种类似java的编程语言[1] ,设计初衷是实现可伸缩的语言[2] 、并集成面向对象编程和函数式编程的各种特性。
资源推荐
资源详情
资源评论
收起资源包目录
scala 2.12.4 标准库源码 (10504个子文件)
abspath 194B
type_tags.ai 392KB
readproperties.awk 1KB
mkLibNatives.bat 2KB
bootstrap 22KB
natives.c 141B
t8679.check 180KB
range-unit.check 154KB
reflection-valueclasses-magic.check 94KB
compiler-asSeenFrom.check 22KB
trait_fields_conflicts.check 17KB
duration-java.check 16KB
patmat-behavior.check 12KB
variances2.check 11KB
hyperlinks.check 10KB
settings-parse.check 10KB
names-defaults-neg.check 9KB
scope-completion-4.check 9KB
view-iterator-stream.check 9KB
javaReflection.check 8KB
analyzerPlugins.check 8KB
t7747-repl.check 8KB
repl-no-imports-no-predef.check 8KB
visibility.check 8KB
t6989.check 7KB
found-req-variance.check 7KB
t3425b.check 7KB
trailing-commas.check 7KB
infix-completion2.check 6KB
serialization.check 6KB
serialization-new.check 6KB
t5429.check 6KB
warn-unused-privates.check 6KB
repl-colon-type.check 6KB
interpreter.check 6KB
scope-completion-import.check 6KB
checksensible.check 6KB
infix-completion.check 6KB
macro-invalidsig.check 6KB
stringinterpolation_macro-neg.check 5KB
colltest1.check 5KB
existentials-in-compiler.check 5KB
t6344.check 5KB
callcc-interpreter.check 5KB
reflection-magicsymbols-invoke.check 5KB
t7752.check 5KB
any-vs-anyref.check 5KB
t6411a.check 5KB
t6028.check 5KB
synchronized.check 5KB
t4425b.check 4KB
Course-2002-07.check 4KB
tcpoly_variance_enforce.check 4KB
abstract-report2.check 4KB
t7817-tree-gen.check 4KB
t8667.check 4KB
array-charSeq.check 4KB
repl-type-verbose.check 4KB
t3871b.check 4KB
tailcalls.check 4KB
unchecked2.check 4KB
constrained-types.check 4KB
mixin-signatures.check 3KB
ide-bug-1000475.check 3KB
macroPlugins-namerHooks.check 3KB
ping-pong.check 3KB
unchecked3.check 3KB
t5554.check 3KB
t6675b.check 3KB
t7157.check 3KB
collection-conversions.check 3KB
literals.check 3KB
delambdafy_t6028.check 3KB
Course-2002-08.check 3KB
macro-invalidimpl.check 3KB
t10075b.check 3KB
t5663-badwarneq.check 3KB
t0764b.check 3KB
unchecked-abstract.check 3KB
t3368-c.check 3KB
t3368-d.check 3KB
t3368-b.check 3KB
t5527.check 3KB
Course-2002-02.check 3KB
t6666.check 3KB
macro-deprecate-idents.check 3KB
Course-2002-04.check 3KB
showraw_tree_ultimate.check 3KB
reify-each-node-type.check 3KB
lazy-traits.check 3KB
t6288.check 3KB
t6829.check 3KB
applydynamic_sip.check 3KB
t3368.check 3KB
seqlike-kmp.check 2KB
scope-completion-3.check 2KB
annotations.check 2KB
patmat-type-check.check 2KB
structural.check 2KB
showraw_tree_types_ids.check 2KB
共 10504 条
- 1
- 2
- 3
- 4
- 5
- 6
- 106
资源评论
- 第一片心意2018-03-25请额玩这个怎么导入到ieda中,然后编写代码时可以看懂对应的文档和源码呢?
machao1980928
- 粉丝: 1
- 资源: 39
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功