breandan
02/06/2019, 3:04 PMbuffer.min()
over an arbitrary buffer whose elements are subtypes of Comparable
where min()
returns a specific type (i.e. not a Comparable
)? Can you implement it using a single function?altavir
02/06/2019, 3:06 PMaltavir
02/06/2019, 3:08 PMfun <T> Buffer<out Comparable<T>>.min()
or something like that and it will work for all buffers (thanks to static dispatch). For algebra you can define things like folding. I am working on stream processing of those now.altavir
02/06/2019, 3:10 PMaltavir
02/06/2019, 3:11 PMSpace<T>.sum(iterable : Iterable<T>)
breandan
02/06/2019, 3:11 PMout Comparable<T>
back, right? Suppose I have a new numeric type Float16
that implements Comparable
and I want Float16
backaltavir
02/06/2019, 3:12 PMaltavir
02/06/2019, 3:16 PMfun<T: Comparable<T>> Buffer<T>.max(): T? = asSequence().max()
altavir
02/06/2019, 3:16 PMbreandan
02/06/2019, 3:20 PM<T: Comparable<T>>
simplifies a lot of boilerplate for specializing to subtypesaltavir
02/06/2019, 3:22 PMaltavir
02/06/2019, 3:22 PMbreandan
02/06/2019, 3:22 PMbreandan
02/06/2019, 3:22 PMaltavir
02/06/2019, 3:23 PMbreandan
02/06/2019, 3:25 PMaltavir
02/06/2019, 3:26 PMbreandan
02/06/2019, 3:26 PMbreandan
02/06/2019, 3:27 PMbreandan
02/06/2019, 3:28 PMbreandan
02/06/2019, 3:30 PMaltavir
02/06/2019, 3:31 PM