Metaprogramming: Difference between revisions
Content added Content deleted
ReeceGoding (talk | contribs) m (→{{header|R}}) |
|||
Line 912: | Line 912: | ||
; instead of |
; instead of |
||
(setq sum (lambda (a b) (+ a b))) |
(setq sum (lambda (a b) (+ a b))) |
||
</lang> |
|||
=={{header|OxygenBasic}}== |
|||
OxygenBasic supports metalanguage useable with various macro formats. |
|||
Unlike the C preprocessor, OxygenBasic metalanguage is resolved inline. |
|||
<lang> |
|||
'EQUATES |
|||
% half 0.5 |
|||
$ title "My Metaprogram" |
|||
'CONDITIONAL BLOCKS |
|||
#ifdef |
|||
#elseif |
|||
#else |
|||
#endif |
|||
'MACROS |
|||
'msdos-like |
|||
def sum |
|||
%1 + %2 |
|||
end def |
|||
'C-like |
|||
#define sum(a,b) a + b |
|||
'native |
|||
macro sum(a,b) |
|||
a + b |
|||
end macro |
|||
'native macro functions |
|||
macro sum int(r,a,b) |
|||
r=a+b |
|||
end macro |
|||
</lang> |
</lang> |
||