Author: bernhard
Date: Tue May 15 12:11:39 2007
New Revision: 18553
Modified:
trunk/languages/lisp/system.pir
trunk/languages/lisp/types.pir
Log:
#42885: Resurrect languages/lisp
Inline the macro .FUNCTION,
as I got confused with PIR magic and macros.
Modified: trunk/languages/lisp/system.pir
==============================================================================
--- trunk/languages/lisp/system.pir (original)
+++ trunk/languages/lisp/system.pir Tue May 15 12:11:39 2007
@@ -13,28 +13,52 @@
.HASH(value)
- .FUNCTION(function, _left_paren_macro)
+ # VALID_IN_PARROT_0_2_0 .FUNCTION(function, _left_paren_macro )
+ function = new "LispFunction"
+ .const .Sub temp = "_left_paren_macro"
+ setattribute function, "body", temp
value["("] = function
- .FUNCTION(function, _right_paren_macro)
+ # VALID_IN_PARROT_0_2_0 .FUNCTION(function, _right_paren_macro)
+ function = new "LispFunction"
+ .const .Sub temp = "_right_paren_macro"
+ setattribute function, "body", temp
value[")"] = function
- .FUNCTION(function, _single_quote_macro)
+ # VALID_IN_PARROT_0_2_0 .FUNCTION(function, _single_quote_macro)
+ function = new "LispFunction"
+ .const .Sub temp = "_single_quote_macro"
+ setattribute function, "body", temp
value["'"] = function
- .FUNCTION(function, _semicolon_macro)
+ # VALID_IN_PARROT_0_2_0 .FUNCTION(function, _semicolon_macro)
+ function = new "LispFunction"
+ .const .Sub temp = "_semicolon_macro"
+ setattribute function, "body", temp
value[";"] = function
- .FUNCTION(function, _double_quote_macro)
+ # VALID_IN_PARROT_0_2_0 .FUNCTION(function, _double_quote_macro)
+ function = new "LispFunction"
+ .const .Sub temp = "_double_quote_macro"
+ setattribute function, "body", temp
value["\""] = function
- .FUNCTION(function, _backquote_macro)
+ # VALID_IN_PARROT_0_2_0 .FUNCTION(function, _backquote_macro)
+ function = new "LispFunction"
+ .const .Sub temp = "_double_quote_macro"
+ setattribute function, "body", temp
value["`"] = function
- .FUNCTION(function, _comma_macro)
+ # VALID_IN_PARROT_0_2_0 .FUNCTION(function, _comma_macro)
+ function = new "LispFunction"
+ .const .Sub temp = "_comma_macro"
+ setattribute function, "body", temp
value[","] = function
- .FUNCTION(function, _sharpsign_macro)
+ # VALID_IN_PARROT_0_2_0 .FUNCTION(function, _sharpsign_macro)
+ function = new "LispFunction"
+ .const .Sub temp = "_sharpsign_macro"
+ setattribute function, "body", temp
value["#"] = function
.DEFVAR(symbol, package, "*READER-MACROS*", value)
Modified: trunk/languages/lisp/types.pir
==============================================================================
--- trunk/languages/lisp/types.pir (original)
+++ trunk/languages/lisp/types.pir Tue May 15 12:11:39 2007
@@ -104,7 +104,7 @@
.sub _get_body :method
.local pmc retv
- getattribute retv, self, "LispFunction\0body"
+ getattribute retv, self, "body"
.return(retv)
.end