diku-dk / futhark

:boom::computer::boom: A data-parallel functional programming language
http://futhark-lang.org
ISC License
2.4k stars 167 forks source link

Add more glossary terms #1909

Closed athas closed 1 year ago

athas commented 1 year ago

I have begun work on a glossary of terms that might be useful to new Futhark programmers. I'll leave this issue open for a little while as invitation to suggest other terms that we might want to add.

zfnmxt commented 1 year ago
Munksgaard commented 1 year ago

Great initiative!

Ideas off the top of my head: lifted types (^), coalescing, irregular vs regular parallelism

athas commented 1 year ago

size coercions; they're also called shape coercions in some places. (Maybe they should be consistently named a single thing.)

Which name do you think is best?

athas commented 1 year ago

I can argue "size coercion" is better, since you can only change sizes of shapes, not ranks. Hence, "shapes" don't change, only sizes do.

zfnmxt commented 1 year ago

I can argue "size coercion" is better, since you can only change sizes of shapes, not ranks. Hence, "shapes" don't change, only sizes do.

I agree.

athas commented 1 year ago

Thanks! I included most of your suggestions. Exclusions:

zfnmxt commented 1 year ago

And what is a higher-order type?

You tell me! https://github.com/diku-dk/futhark/blob/4d53cb450d7cb4fa4308d72f256c1a7f068a7d89/src/Language/Futhark/TypeChecker/Unify.hs#L929