Notes
Notes
notes
lesson 1:
* cases are introduced too early (in try{}catch{}) (moved to end of lesson 2)
* bootstrap vs. screen width (not sure how to fix)
lesson 2:
lesson 3:
* todo: introduce variable length arguments (Lesson 1)
* get rid of recap (fixed)
* introduce tuples (already there)
* kill Seq (fixed)
* flatMap (fixed)
* note that these are combinators -- transformations on collections (fixed)
* introduce currying (in lesson #1)
* kill the block in foldLeft (ok, fine. fixed)
* index vs. value is confusing (where is this?)
* Map(1 -> 2) looks like special syntax (fixed)
* find better example for partial application (fixed: add(m)(n))
* compositional semantics of currying argument lists vs. partial application, vs. …
lesson 4:
Lesson: Types
Note from Sam List[Any] example makes you think it'll always resolve
to Any but it will be most common super-type.
We use the function value syntax but generally only show partially
applied functions earlier so is confusing.
vs
Invariant isn't covered and yet is the default so people will always
need to understand it.
trait Future[A] {
def flatMap[B](f: A => Future[B]): Future[B]
}
Two uses join methods: one returns Future[Unit], the other doesn't.
Thought: get laser pointers. (also bring our own VGA/DVI adapters)
sbt transcript
sbt should be ./sbt (to make sure we use our local sbt) skip update,
don't do that!
mine fails.
System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/cus
tom_require.rb:31:in
`gem_original_require': no such file to load -- bundler/setup
(LoadError)
from
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubyg
ems/custom_require.rb:31:in
`require' from src/scripts/console:5
d'oh.
database(key) = value
motivates explaining update syntax sugar (or else not do that in the
implementation)
we use require(!indices.isEmpty)?
When you add the search method to the thrift IDL, it would be nice to
highlight just the added line.
Would be cool to have an "Exercises" section at the end for all the
go-getters to work through.
- the result set size for search() is unbounded. add support for a
default result size, and the ability to paginate through the full
result set. think about the expense of this operation on large result
sets, and how you might optimize the system for this.
That's all for now... I'd love to go through the full set of material,
but can't get to it tonight. But I'm really looking forward to
incorporating this into NHO. If things go well tomorrow, perhaps I
can try it out on the current crop of newbies?