サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
www.scala-lang.org
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. Tuples allow developers to create new types by associating existing types. In doing so, they are very similar to case classes but unlike them they retain only the structure of the types (e.g., which type is in which order) rather than giving each element a name
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. Explicit term inference with Scala 3 One of the most striking changes for developers adopting Scala 3 is the introduction of a new syntax to replace the implicit mechanism used in previous Scala versions. The motivation behind the new syntax is that the same im
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. Scala 3 - A community powered release After 8 years of research, experimenting, trying out, discussing, numerous contributions from academic & community collaborators, the Dotty project will finally graduate in fall 2020, by becoming Scala 3. This blog aims to
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. Together with the Scala 3 team at EPFL (aka the Dotty team), led by Martin Odersky, we have decided that, rather than developing Scala 2.14, our efforts should go to Scala 3 instead. While we’re very excited to shift our focus to Scala 3, we will continue to ma
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. Early in 2019, the Scala Center advisory board accepted a proposal from Spotify, whose goal is to improve the handling of conflicts in dependency management in sbt. The work we’ve been doing may interest you if: You’ve run into trouble with version conflicts be
Friday 15 June 2018 Jorge Vicente Cantero, Justin Kaeser and Ólafur Páll Geirsson The choice of an editor, IDE or build tool is personal and, therefore, asking you to go out of your way to learn a new tool to write Scala is not a viable solution. First, because changing people’s habits is difficult and takes time. Second, it frustrates beginners who just want to learn the language. Last, it distra
In this blog article, I’d like to introduce you to a new tool that we’ve developed at the Scala Center called scalac-profiling, which aims to help you better understand what is slowing down compilation in your project. It turns out that the use of Scala’s implicits as well as macros can greatly increase compilation times, depending on how they are used and how your codebase is organized. Codebases
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. Now that Scala 2.13 is only a few months away, it’s time to consider the roadmap beyond it. It’s been no secret that the work on Dotty over the last 5 years was intended to explore what a new Scala could look like. We are now at a stage where we can commit: Dot
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. In a previous blog post, I explained how Scala 2.13’s new collections have been designed so that the default implementations of transformation operations work with both strict and non-strict types of collections. In essence, we abstract over the evaluation mode
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. We on the Scala team would like to call some attention to a lesser-known but crucial component of the development effort behind Scala. It’s called the Scala community build. What is it? It’s a collection of open-source Scala code that includes many of the most-
These numbers have been obtained on an isolated machine, measuring at the fifth hot clean-compile iteration (of all the projects and subprojects of the build without counting the tests) and with 2 gigabytes of heap for both sbt and bloop (the shell, not the nailgun integration). When benchmarking sbt, we have made sure that dependency resolution and formatting are not measured. To put those number
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. This week, the Scala Center joins the multi-year efforts of Eugene Burmako and his collaborators to establish a non-experimental and portable macro system for Scala. With Eugene’s blessing, I will be taking the lead on behalf of the Scala Center to develop this
We’re excited to announce the first release of Scala Native, an optimising ahead-of-time compiler for Scala built on top of the LLVM compiler infrastructure. Unlike the reference implementation of Scala which generates bytecode that runs on top of the Java Virtual Machine, Scala Native toolchain produces stand-alone native executables. This opens the door for Scala to be used in environments where
In October of 2015 Martin Odersky asked for strawman proposals for a new collections library design for Scala 2.13, which eventually led to the project that we are currently working on, based on his latest proposal. This was not the first redesign for the Scala collections. The current design was first implemented in Scala 2.8 along with the required improvements to type inference in the Scala com
class ArrayBuffer[A] extends AbstractBuffer[A], IndexedBuffer[A], IndexedSeqOps[A, ArrayBuffer, ArrayBuffer[A]], StrictOptimizedSeqOps[A, ArrayBuffer, ArrayBuffer[A]], IterableFactoryDefaults[A, ArrayBuffer], DefaultSerializable An implementation of the Buffer class using an array to represent the assembled sequence internally. Append, update and random access take constant time (amortized time).
TmplDef ::= [`case'] `class' ClassDef | [`case'] `object' ObjectDef | `trait' TraitDef ClassTemplate ::= [EarlyDefs] ClassParents [TemplateBody] TraitTemplate ::= [EarlyDefs] TraitParents [TemplateBody] ClassParents ::= Constr {`with' AnnotType} TraitParents ::= AnnotType {`with' AnnotType} TemplateBody ::= [nl] `{' [SelfType] TemplateStat {semi TemplateStat} `}' SelfType ::= id [`:' Type] `=>' |
I've profiled Scala using NetBeans (which I believe just embeds VisualVM in NetBeans), but it's tricky. If you're just starting out, I'd suggest just using the -Xprof option. That just prints statistics when the program exits. Of course if you are launching your program using "scala MyProgram" then you need to set -Xprof via the JAVA_OPTS environment variable because you can't pass it on the com
I have a newbie question that perhaps someone can help me with. I'm trying to have a base class with a type parameter and a pattern match: abstract class X[T](var a : T) { // some type independent code (omitted)... // type dependent def field2val(field : String) { this match { case floatX(_) => a = field.toFloat; case intX(_) => a = field.toInt; } } } case class floatX(a : Float) extends X[Float](
I just made the first pull request to add implicit function types to Scala. I am pretty excited about it, because - citing the explanation of the pull request - “This is the first step to bring contextual abstraction to Scala”. What do I mean by this? Abstraction: The ability to name a concept and use just the name afterwards. Contextual: A piece of a program produces results or outputs in some co
We are very happy to announce the availability of Scala 2.12.0! Headline features The Scala 2.12 compiler has been completely overhauled to make use of the new VM features available in Java 8: A trait compiles directly to an interface with default methods. This improves binary compatibility and Java interoperability. Scala and Java 8 interop is also improved for functional code, as methods that ta
Domain Specific Languages (DSL) written in Scala have become powerful tool in the hands of Scala programmers. In the original language design great care was taken to ensure that the syntax would allow programmers to create natural looking DSLs. Spend a moment to enjoy Michael Fogus's humour and the clever use he makes of implicits to create "Baysick". It looks like BASIC feels like BASIC but it's
We’re very happy to announce that the first 3 out of 4 courses in our Scala specialization have launched on Coursera! The courses available today include: Functional Programming Principles in Scala: discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. Functional Program Design in Scala: learn how to apply the functional pro
We are pleased to announce the availability of Scala 2.11.8! Significant changes since 2.11.7 include: The Scala REPL now has robust and flexible tab-completion (details below) An assortment of bugs have been fixed Compared to 2.11.7, this release resolves 44 issues. We merged 175 pull requests. As usual for minor releases, Scala 2.11.8 is binary compatible with other releases in the Scala 2.11 se
What do you get if you boil Scala on a slow flame and wait until all incidental features evaporate and only the most concentrated essence remains? After doing this for 8 years we believe we have the answer: it’s DOT, the calculus of dependent object types, that underlies Scala. A paper on DOT will be presented in April at Wadlerfest, an event celebrating Phil Wadler’s 60th birthday. There’s also a
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. For most of us, the change of the year is an occasion for thinking about what we missed doing last year and where we want to improve. I decided there are a couple of things where I would like to do better in 2016 than in 2015. The first is that I would like to
We got liftoff! The Dotty compiler for Scala bootstraps. We got liftoff! The Dotty project is a platform to develop new technology for Scala tooling and to try out concepts of future Scala language versions. Its compiler is a new design intended to reflect the lessons we learned from work with the Scala compiler. A clean redesign today will let us iterate faster with new ideas in the future. Today
LocalModifier ::= ‘implicit’ ParamClauses ::= {ParamClause} [nl] ‘(’ ‘implicit’ Params ‘)’ Template members and parameters labeled with an implicit modifier can be passed to implicit parameters and can be used as implicit conversions called views. The implicit modifier is illegal for all type members, as well as for top-level objects. Example Monoid The following code defines an abstract class of
次のページ
このページを最初にブックマークしてみませんか?
『The Scala Programming Language』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く