New features
Brian Rice
water at tunes.org
Wed Apr 13 12:34:35 PDT 2005
Disregard the double-post. My ISP is Comcast, and today's network
behavior is not very good...
On Apr 13, 2005, at 12:32 PM, Brian Rice wrote:
> I've uploaded alpha images and updated the repository with more
> features:
>
> The "here" method, returning the current namespace dynamically as
> discussed.
>
> Currying, which has actually been in the image for a while, provides
> methods <-, <-1, <-2, ... <-* to eliminate the Nth argument (* for
> last) of the block given on the left, filling it with the value of the
> right argument. It returns a new block. Right now, this is
> unoptimized, but that should be fixed shortly with a byte-code
> compiler extension.
>
> `cache/cacheAs: takes an expression and expands the surrounding block
> so that there is an extra variable (you can optionally name it with a
> symbol or string) that stores the value of evaluating it /once/. If
> the variable name is given (with `cacheAs:), you can refer to that
> variable later in the method and it should compile correctly. If you
> don't give a name (with `cache), then equivalent expressions later in
> that same lexical scope will be replaced with accesses of that
> variable.
>
> addVariable&name:/addInputVariable&name: act on a block's source tree
> to add new variables, defaulting to an auto-generated 'xN' name. You
> can also specify another &prefix optionally. These are not macros,
> however; they just return the new syntax variable object.
>
> Sequence methods: concatenateAll:, concatenateAll:separatedBy: to join
> sequences together, or with a separator sequence. chainPairsDo: is
> like pairsDo: but the block is applied to each element twice, once as
> next argument, then as the first (except for the first and last
> elements, of course).
>
> String methods: split&separators:, toCamelCase, fromCamelCase. split
> just adds a default of whitespace separation to the sequence
> splitWithAny: method. The camel case methods are currently pretty
> simple, just taking words and joining/splitting them and doing the
> right thing to get from one naming style to another. They do take
> optional separator arguments, so underscores vs. dashes vs. spaces may
> be used. They are limited right now in that they assume everything's
> lowercase by default.
--
Brian T. Rice
LOGOS Research and Development
http://tunes.org/~water/
More information about the Slate
mailing list