Skip to content

Instantly share code, notes, and snippets.

@vito
Created October 15, 2010 01:29
Show Gist options
  • Save vito/627437 to your computer and use it in GitHub Desktop.
Save vito/627437 to your computer and use it in GitHub Desktop.
object inspection
atomo $ atomo
> Object clone (do: { a = 1; b = "hi" }) methods
<object (delegates to 1 object)>
keywords := []
singles := [[<slot (a)>], [<slot (b)>]]
> Object clone (do: { a = 1; b = "hi" }) methods singles
[[<slot (a)>], [<slot (b)>]]
> Object clone (do: { a = 1; b = "hi" }) methods singles (map: @(map: @value))
[[1], ["hi"]]
> Object clone (do: { a = 1; b = "hi" }) methods singles (map: @(map: @value)) concat
[1, "hi"]
>
> 1 methods
<object (delegates to 1 object)>
keywords :=
[[<responder ((x: <this>) divides?: (y: <this>))>], [<responder ((s: <object>) chunks-of: (n: <this>))>], [<responder ((s: <object>) break-end: (d: <this>))>], [<responder ((s: <object>) split-at: (n: <this>))>], [<responder ((start: <this>) down-to: (end: <this>) do: b)>], [<responder ((s: <object>) right-justify: (length: <this>) with: (c: <object>))>], [<responder ((a: <this>) % (b: <this>))>], [<responder ((a: <this>) * (b: <this>))>, <responder ((a: <this>) * (b: <object>))>, <responder ((a: <object>) * (b: <this>))>], [<responder ((a: <this>) + (b: <this>))>, <responder ((a: <this>) + (b: <object>))>, <responder ((a: <object>) + (b: <this>))>], [<responder ((a: <this>) - (b: <this>))>, <responder ((a: <this>) - (b: <object>))>, <responder ((a: <object>) - (b: <this>))>], [<responder ((major: <this>) . (minor: <this>))>, <responder ((major: <this>) . (rest: <object>))>], [<responder ((a: <this>) / (b: <this>))>, <responder ((a: <this>) / (b: <object>))>, <responder ((a: <object>) / (b: <this>))>], [<responder ((a: <this>) < (b: <this>))>, <responder ((a: <this>) < (b: <object>))>, <responder ((n: <this>) < (v: <object>))>, <responder ((a: <object>) < (b: <this>))>, <responder ((v: <object>) < (n: <this>))>], [<responder ((a: <this>) > (b: <this>))>, <responder ((a: <this>) > (b: <object>))>, <responder ((n: <this>) > (v: <object>))>, <responder ((a: <object>) > (b: <this>))>, <responder ((v: <object>) > (n: <this>))>], [<responder ((a: <this>) ^ (b: <this>))>, <responder ((a: <this>) ^ (b: <object>))>, <responder ((a: <object>) ^ (b: <this>))>], [<responder ((x: <this>) .. (y: <this>))>], [<responder ((a: <this>) <= (b: <this>))>, <responder ((a: <this>) <= (b: <object>))>, <responder ((n: <this>) <= (v: <object>))>, <responder ((a: <object>) <= (b: <this>))>, <responder ((v: <object>) <= (n: <this>))>], [<responder ((a: <this>) >= (b: <this>))>, <responder ((a: <this>) >= (b: <object>))>, <responder ((n: <this>) >= (v: <object>))>, <responder ((a: <object>) >= (b: <this>))>, <responder ((v: <object>) >= (n: <this>))>], [<responder ((a: <this>) == (b: <this>))>, <responder ((a: <this>) == (b: <object>))>, <responder ((n: <this>) == (v: <object>))>, <responder ((a: <object>) == (b: <this>))>, <responder ((v: <object>) == (n: <this>))>], [<responder ((n: <this>) as: <object>)>, <responder ((s: <object>) as: <this>)>, <responder ((d: <object>) as: <this>)>], [<responder ((l: <object>) at: (n: <this>))>, <responder ((s: <object>) at: (n: <this>))>], [<responder ((l: <object>) at: (n: <this>) put: v)>], [<responder ((x: <this>) ... (y: <this>))>], [<responder ((x: <this>) to: (y: <this>) by: (d: <this>))>], [<responder ((l: <object>) drop: (n: <this>))>, <responder ((s: <object>) drop: (n: <this>))>], [<responder ((l: <object>) take: (n: <this>))>, <responder ((s: <object>) take: (n: <this>))>], [<responder ((start: <this>) to: (end: <this>) by: (diff: <this>) do: b)>], [<responder ((s: <object>) break-on: (d: <this>))>], [<responder ((l: <object>) from: (s: <this>) to: (e: <this>))>], [<responder ((l: <object>) from: (s: <this>) take: (n: <this>))>], [<responder ((n: <this>) times: (b: <object>))>], [<responder (<object> sleep: (n: <this>))>], [<responder ((x: <this>) up-to: (y: <this>))>], [<responder ((c: <object>) repeat: (n: <this>))>, <responder ((s: <object>) repeat: (n: <this>))>, <responder (b repeat: (n: <this>))>], [<responder ((x: <this>) divisible-by?: (y: <this>))>], [<responder ((start: <this>) up-to: (end: <this>) do: b)>], [<responder (v replicate: (n: <this>))>], [<responder ((x: <this>) down-to: (y: <this>))>], [<responder ((s: <object>) left-justify: (length: <this>) with: (c: <object>))>], [<responder ((a: <this>) quotient: (b: <this>))>], [<responder ((a: <this>) remainder: (b: <this>))>], [<responder ((s: <object>) center: (length: <this>) with: (c: <object>))>]]
singles :=
[[<responder ((n: <this>) odd?)>], [<responder ((i: <this>) sqrt)>], [<responder ((n: <this>) even?)>]]
> @+ methods
<object (delegates to 1 object)>
keywords :=
[[<responder ((p: <this>) complete: (targets: <object>))>], [<responder ((x: <object>) responds-to?: (p: <this>))>], [<responder ((a: <this>) == (b: <this>))>], [<responder (<object> new: (fn: <object>) mode: (m: <this>))>], [<responder ((p: <this>) call: (targets: <object>))>]]
singles :=
[[<responder ((p: <this>) name)>], [<responder ((p: <this>) type)>], [<responder ((p: <this>) show)>], [<responder ((p: <this>) names)>], [<responder ((p: <this>) values)>]]
>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment