View Issue Details

IDProjectCategoryView StatusLast Update
0000389LDMud 3.3Efunspublic2005-11-24 15:32
ReporterGnomi Assigned Tolars 
Status closedResolutionfixed 
Platformi686OSDebian GNU/LinuxOS Version3.0
Product Version3.3 
Fixed in Version3.3 
Summary0000389: lambda doesn't recognize #'& as the reference operator

lambda(({'x}),({#'&,'x})) yields "Too few arguments to &". This is because #'& is now an efun closure, but lambda() expects it to be an operator closure (case F_AND is only executed for operator closures). So #'& is handled just as a normal efun, which requires exactly two arguments.

There's also a compatibility issue. In 3.2 #'& could get more than two arguments and would AND them all together, in 3.3 it can only handle exact two arguments.

TagsNo tags attached.



2005-06-20 00:11

reporter   ~0000377

Neither 3.2 nor 3.3 allow just one argument to #'& - but otherwise you are corrected.

This is corrected in 3.3.708, and also extends the multi-argument feature to #'| and #'^ .


2005-06-20 09:25

reporter   ~0000379

For clarification as my previous note was too terse: #'& does also take just one parameter in which case it acts as the 'create reference' operator - it is in the role as binary-and operator that it requires at least two parameters.

Issue History

Date Modified Username Field Change
2005-05-24 14:18 Gnomi New Issue
2005-06-20 00:11 lars Status new => resolved
2005-06-20 00:11 lars Fixed in Version => 3.3
2005-06-20 00:11 lars Resolution open => fixed
2005-06-20 00:11 lars Assigned To => lars
2005-06-20 00:11 lars Note Added: 0000377
2005-06-20 09:25 lars Note Added: 0000379
2005-11-24 15:32 lars Status resolved => closed