I can never remember how to create a Scala 3 (Dotty) project with SBT (in early 2019), so:
# create a new Dotty project sbt new lampepfl/dotty.g8 # create a dotty project that cross compiles with scala 2 sbt new lampepfl/dotty-cross.g8 # start a dotty reply from within your sbt project $ sbt > console scala> _
Here’s what an example interaction looks like — include SBT renaming my directory name to all lowercase, which brings me no joy:
As a brief note to self, this is how I compiled/built an Android application (APK) from the MacOS command line and then ran it in an emulator. I include both my application- and system-specific notes, as well as the more generic commands I found at this Android.com URL:
As shown in the image, I was just reminded that you can run
javap inside the Scala REPL. The REPL help command shows some other things you can do:
scala> :help All commands can be abbreviated, e.g., :he instead of :help. :edit <id>|<line> edit history :help [command] print this summary or command-specific help :history [num] show the history (optional num is commands to show) :h? <string> search the history :imports [name name ...] show import history, identifying sources of names :implicits [-v] show the implicits in scope :javap <path|class> disassemble a file or class name :line <id>|<line> place line(s) at the end of history :load <path> interpret lines in a file :paste [-raw] [path] enter paste mode or paste a file :power enable power user mode :quit exit the interpreter :replay [options] reset the repl and replay all previous commands :require <path> add a jar to the classpath :reset [options] reset the repl to its initial state, forgetting all session entries :save <path> save replayable session to a file :sh <command line> run a shell command (result is implicitly => List[String]) :settings <options> update compiler options, if possible; see reset :silent disable/enable automatic printing of results :type [-v] <expr> display the type of an expression without evaluating it :kind [-v] <type> display the kind of a type. see also :help kind :warnings show the suppressed warnings from the most recent line which had any
Way back in the 1990s I created some “cheat sheets” for Unix training classes that I taught. Somewhere in the 2000s I updated them to make sure they worked with Linux as well, Here then are two Unix/Linux cheat sheets I created (way back when) that you can print out if you’re just learning Linux and the vi/vim editor:
This article titled, Little things I like to do with git, has a fun series of git commands.
A flowchart on how to undo changes in Git, from this tweet.