fo icon indicating copy to clipboard operation
fo copied to clipboard

An experimental language which adds functional programming features to Go.

Results 15 fo issues
Sort by recently updated
recently updated
newest added

Hello the following program fails to compile https://play.folang.org/p/2XxLi_ukWR5 ``` package main func x[T](p *T)(**T){ return &p } func y[T](a *T){ x[*T](x[T](a)) } func main() { } ```

bug

IMO it would be easier to read code which uses < and > instead of [ and ]. Have you considered it during the design? What is the reason behind...

discussion

Given main.fo: ``` package main type Foo[T] struct{ Field []Foo[[]T] } func main(){ } ``` The generated go is: ``` package main type Foo____T struct { Field []Foo______T } func...

bug

Hi! I was wondering what your thoughts were on supporting type constraints so that one could require that a type T must implement a certain interface. For example ([playground](https://play.folang.org/p/QGVXlJCIgIa)): ```...

enhancement

Hello. Manually implementing and passing a concrete struct as a generic struct function parameter does not work. This does not work: ``` package main import "fmt" type StringBox struct {...

Please, mention this project in the issue of the Go project dedicated to generic programming facilities: golang/go#15292. This mention will has attracted attention to your experiment and will has started...

discussion

I would be great to have this project referred to in the compilation at: https://github.com/golang/go/wiki/ExperienceReports#generics There is also the list of ideas and approaches at the below link which could...

discussion

[libgeneration](https://github.com/go-li/libgeneration) contains several generic algorithms and datastructures - sorted map (dict/avl) - binary tree (dict/binary) - graph (graphs and algorithms) - binary heap (a queue) - efficient tree based heap...

discussion

Currently, the Fo CLI only works on one file at a time. This is fine for developing a proof of concept and polishing core language features, but in order for...

enhancement
in progress

Hello, the following does not run https://play.folang.org/p/XhaheZsrxBT ``` package main func instantiate[T](p *T) { var foo = make(map[T]int) foo[*p] = 9 } func main() { instantiate[[0]byte]((*[0]byte)(nil)) } ``` The expected...

bug