Semantics Lambda Syntax Update Rip infers all types, but sometimes it helps to clearly describe what is expected. For this Rip allows specifying the types of some or all parameters for some or all overloads (type restrictions in Rip's parlance). In the absence of a type restriction, Rip allows any type and
Semantics Iteration Rip supports a variety of interfaces for iterating over collections. ```language-rip numbers = 1..5 double = -> (n) { n + n } ```Setup code```language-rip result = System.List.map(double, numbers) ```Functional Syntax```language-rip result = numbers.map(double) ```Object Oriented Syntax```language-rip result = numbers |> System.List.map(double) ```Pipeline Syntax```language-rip
Thoughts Project Layout Notes * a Rip package is a collection of modules with a package module at the root * package modules live in ./source * global installs (of dependencies) are not necessary or encouraged (for development) * binaries in ./vendor/.bin may be executed with rip run (eg rip run dependency-two) * ./source and ./vendor/*/source
Thoughts Sample Syntax For Multiple Assignment Currently Rip doesn't support multiple assignment, but it might be nice to do something like this. { Intger, String } = System # Integer == System.Integer # String == System.String SSS, { String } = System # SSS == System # String == System.String
Thoughts Types And Property Resolution type {} captures the current context and creates (behaves like?) a nested context. Accessing a reference inside a type 0. check for property on the type 1. check for property on any super type 2. check for reference in current context (which may include a wrapping type) Accessing a property on