Reflection/Get source: Difference between revisions

Add Factor example
m (Omitted modula-2)
(Add Factor example)
Line 16:
; Use meta function for filenames and line numbers (and other metadata)
(meta #'println)</lang>
 
=={{header|Factor}}==
Printing definitions:
<lang factor>USE: see
\ integer see ! class
nl
\ dip see ! word</lang>
{{out}}
<pre>
IN: math
UNION: integer fixnum bignum ;
 
IN: kernel
: dip ( x quot -- x ) swap [ call ] dip ;
</pre>
Obtaining the code that makes up a word as a quotation (an anonymous function/collection that stores code):
<lang factor>USE: accessors
\ partition def>> .</lang>
{{out}}
<pre>
[ over [ 2selector [ each ] 2dip ] dip [ like ] curry bi@ ]
</pre>
Obtaining the vocabulary name a word belongs to:
<lang factor>USE: accessors
\ dip vocabulary>> print</lang>
{{out}}
<pre>
kernel
</pre>
Obtaining file paths for a particular vocabulary:
<lang factor>USE: vocabs.files
"sequences" vocab-files .</lang>
{{out}}
<pre>
{
"resource:core/sequences/sequences.factor"
"resource:core/sequences/sequences-docs.factor"
"resource:core/sequences/sequences-tests.factor"
}
</pre>
 
=={{header|FreeBASIC}}==
1,808

edits