Le lundi 26 octobre 2015 07:15:56 UTC+1, DNF a écrit :
>
> Hmm. Trying to answer myself: I guess my suggested solution would miss
> functions that don't specify the type, but just rely on the iterable
> behaviour.
>
>
It is easy to get the list of thunks that work on iterables.
type Iterable x::Float64 end
Base.start(x::Iterable) = 0
Base.next(x::Iterable) = 0
Base.done(x::Iterable) = true
show(filter(s -> try
eval(s)(Iterable(0)) ; true
catch
false
end,
names(Base)))
I am not sure how to provide default arguments for functions of several
variables though.
Here is the list, excluding macros.
:apropos,:broadcast!_function,:broadcast_function,:conj,:ctranspose,:cycle,:deepcopy,
:display,:done,:dump,:eltype,:enumerate,:esc,:expand,:fetch,:fieldnames,:fill,:finalize,
:hash,:hcat,:htol,:identity,:info,:isbits,:isgeneric,:isimmutable,:isleaftype,:ltoh,:macroexpand,
:methods,:names,:next,:object_id,:permutations,:pointer_from_objref,:print,:println,:promote,
:promote_type,:push!,:redisplay,:repeated,:repr,:rmprocs,:show,:showall,:showcompact,
:sizeof,:start,:string,:summary,:symbol,:symdiff,:transpose,:typejoin,:vcat,:warn,:xdump,:zip