Very early stages!!
Example:
func IntAdd(vals ...interface{}) interface{} {
var result int64
for _, val := range vals {
v := reflect.ValueOf(val)
intVal := v.Int()
result += intVal
}
return result
}
func main() {
list1 := ligo.List(1, 2, 3, 5)
vec1 := ligo.Vector(1, 2, 3, 5)
fmt.Printf("Add: %d\n", ligo.Reduce(IntAdd, list1))
fmt.Printf("Add: %d\n", ligo.Reduce(IntAdd, vec1))
}