https://news.ycombinator.com/item?id=15083381

On Wednesday, 23 August 2017 18:00:49 UTC+2, Walter Schulze wrote:
>
> Thank you very much for the compliments and support.
> I really appreciate it.
>
> On Wednesday, 23 August 2017 16:35:29 UTC+2, mhh...@gmail.com wrote:
>>
>> coolest repo to watch at that moment
>>
>> On Wednesday, August 23, 2017 at 9:38:42 AM UTC+2, Walter Schulze wrote:
>>>
>>> I created gogoprotobuf, but I wanted to create a new code generator for 
>>> go that does not only work for protocol buffers, but for all go types.
>>>
>>> Here is my next generation code generation for go:
>>> https://github.com/awalterschulze/goderive
>>> goderive parses your go code for functions which are not implemented and 
>>> then generates these functions for you by deriving their implementations 
>>> from the parameter types.
>>>
>>> These functions includes:
>>>   - recursive functions like GoString and CopyTo
>>>   - functions for sets like Contains and Union and 
>>>   - functions from functional programming like Filter, Fmap and Compose 
>>> (monad)
>>>   - future: concurrent functions like applicative Do (from haxl)
>>>
>>> Use cases:
>>>   - More maintainable code
>>>   - Experience or experiment with what it would be like to use generic 
>>> functions in Go ... today.
>>>   - Create user stories for Go 2 in favour of or against generics.
>>>   - Don't argue about using labels and gotos, instead of just writing a 
>>> contains function.
>>>   - Do functional programming in go.  Well only partly because 
>>> mutability is still a thing.
>>>   - Less typing of: `if err != nil return err`. The compose function 
>>> implements monadic error handling.
>>>   - future: less error prone concurrency.
>>>
>>> Ready for production and experimentation.
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to