Package gnu.kawa.functions
Class Map
- java.lang.Object
-
- gnu.mapping.PropertySet
-
- gnu.mapping.Procedure
-
- gnu.mapping.ProcedureN
-
- gnu.kawa.functions.Map
-
- All Implemented Interfaces:
Named
public class Map extends ProcedureN
Implement the Scheme standard functions "map" and "for-each".
-
-
Field Summary
-
Fields inherited from class gnu.mapping.ProcedureN
applyToObject, noArgs
-
Fields inherited from class gnu.mapping.Procedure
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
-
Fields inherited from class gnu.mapping.PropertySet
nameKey
-
-
Constructor Summary
Constructors Constructor Description Map(boolean collect, ApplyToArgs applyToArgs, IsEq isEq)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectapply2(java.lang.Object arg1, java.lang.Object arg2)java.lang.ObjectapplyN(java.lang.Object[] args)static voidforEach1(Procedure proc, LList list)An optimized single-list version of for-each.static voidforEach1(Procedure proc, java.lang.Object list)An optimized single-list version of for-each.static java.lang.Objectmap1(Procedure proc, LList list)An optimized single-list version of map.static java.lang.Objectmap1(Procedure proc, java.lang.Object list)intnumArgs()ReturnminArgs()|(maxArgs<<12).-
Methods inherited from class gnu.mapping.ProcedureN
applyToObject
-
Methods inherited from class gnu.mapping.Procedure
apply0, apply1, apply3, apply4, applyL, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
-
Methods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
-
-
-
-
Constructor Detail
-
Map
public Map(boolean collect, ApplyToArgs applyToArgs, IsEq isEq)
-
-
Method Detail
-
map1
public static java.lang.Object map1(Procedure proc, LList list) throws java.lang.Throwable
An optimized single-list version of map.- Throws:
java.lang.Throwable
-
map1
public static java.lang.Object map1(Procedure proc, java.lang.Object list) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
forEach1
public static void forEach1(Procedure proc, LList list) throws java.lang.Throwable
An optimized single-list version of for-each.- Throws:
java.lang.Throwable
-
forEach1
public static void forEach1(Procedure proc, java.lang.Object list) throws java.lang.Throwable
An optimized single-list version of for-each.- Throws:
java.lang.Throwable
-
apply2
public java.lang.Object apply2(java.lang.Object arg1, java.lang.Object arg2) throws java.lang.Throwable
-
applyN
public java.lang.Object applyN(java.lang.Object[] args) throws java.lang.Throwable
-
numArgs
public int numArgs()
Description copied from class:ProcedureReturnminArgs()|(maxArgs<<12). We use a single virtual function to reduce the number of methods in the system, as well as the number of virtual method table entries. We shift by 12 so the number can normally be represented using a sipush instruction, without requiring a constant pool entry.
-
-