zlacker

[parent] [thread] 2 comments
1. akkad3+(OP)[view] [source] 2025-12-13 18:43:29
Why does it need generics? There's a great blog post about how you can replace a lot of trait behaviour with just functions. Maybe something like that can be done for generics
replies(1): >>riffra+Yf
2. riffra+Yf[view] [source] 2025-12-13 20:45:11
>>akkad3+(OP)
the comment is wrong, what Gleam lacks is interfaces.

Which feels super strange, but doesn't seem to really be a problem, e.g. imagine a language where you'd write

    fun sum_all_numbers(Iterable<T> it) { it.fold(...) } # an interface
    sum_all_numbers(a_list) # a list implements iterable

Gleam wants you to write

    fun sum_all_numbers(Iterator<T> it) { it.fold(...) } # a concrete type
    sum_all_numbers(a_list.iterator) # get the caller to build the right object

edit: found an article that explained this a bit better https://mckayla.blog/posts/all-you-need-is-data-and-function...
replies(1): >>akkad3+7Vb
◧◩
3. akkad3+7Vb[view] [source] [discussion] 2025-12-17 17:33:49
>>riffra+Yf
Yes this is the article I was referring to. Gleam does not need interfaces or traits because functions can do it
[go to top]