hara.model.spec-ruby

!.rb

macro

(!.rb & body)

+book+

+features+

+grammar+

+init+

+template+

br

macro

break

macro

def$.rb

macro

(def$.rb & body)

def.rb

macro

(def.rb & body)

defclass.rb

macro

(defclass.rb & body)

defgen.rb

macro

(defgen.rb & body)

defglobal.rb

macro

(defglobal.rb & body)

defmacro.rb

macro

(defmacro.rb & body)

defn.rb

macro

(defn.rb & body)

defptr.rb

macro

(defptr.rb & body)

defrun.rb

macro

(defrun.rb & body)

deftemp.rb

macro

(deftemp.rb & body)

return

macro

ruby-def

(ruby-def [_tag sym body :as form])

ruby-defgen

(ruby-defgen form)

ruby-defn

(ruby-defn [_ sym args & body])

ruby-defn-

(ruby-defn- form grammar mopts)

ruby-destructure-key

added in 4.1

(ruby-destructure-key sym)

normalizes xtalk destructuring keys to the Ruby hash key format

ruby-div

(ruby-div [_ a b & more] grammar mopts)

ruby-dot

(ruby-dot [_ obj & props])

ruby-emit-args

(ruby-emit-args args grammar mopts)

ruby-emit-input-rest

(ruby-emit-input-rest {:keys [symbol]} grammar mopts)

ruby-emit-range

(ruby-emit-range separator [_ start & more] grammar mopts)

ruby-fn

added in 4.1

(ruby-fn [_ & more])

basic transform for ruby blocks (spec-ruby/ruby-fn ’(fn a(+ a 1))) => ’(fn.inner a(+ a 1))

ruby-invoke

(ruby-invoke [f & args] grammar mopts)

ruby-map

added in 4.1

(ruby-map m grammar mopts)

emit ruby hash (l/emit-as :ruby ’{:a 1 :b 2}) => “{"a" => 1, "b" => 2}”

ruby-method-ref

(ruby-method-ref [_ sym])

ruby-string

(ruby-string s)

ruby-symbol

added in 4.1

(ruby-symbol sym grammar mopts)

emit ruby symbol (spec-ruby/ruby-symbol :a spec-ruby/+grammar+ {}) => “:a” (spec-ruby/ruby-symbol ’a spec-ruby/+grammar+ {}) => “a”

ruby-symbol-global

(ruby-symbol-global key _grammar _mopts)

ruby-throw

(ruby-throw [_ value] grammar mopts)

ruby-var

added in 4.1

(ruby-var [_ sym & args])

emit ruby variable (spec-ruby/ruby-var ’(var a 1)) => ’(:= a 1)

set=

macro

tf-for-array

added in 4.1

(tf-for-array [_ [e arr] & body])

transform for for:array

tf-for-index

added in 4.1

(tf-for-index [_ [i [start stop step]] & body])

transform for for:index

tf-for-iter

added in 4.1

(tf-for-iter [_ [e it] & body])

transform for for:iter

tf-for-object

added in 4.1

(tf-for-object [_ [[k v] m] & body])

transform for for:object