Is there a way to use the new @enum macro in Julia 0.3 projects?
Could it be added to Compat.jl?

On Saturday, February 28, 2015 at 9:53:02 PM UTC+1, Jameson wrote:
>
> https://github.com/JuliaLang/julia/pull/10168
>
> On Sat Feb 28 2015 at 3:45:31 PM Kirill Ignatiev <[email protected] 
> <javascript:>> wrote:
>
>> There are libraries, like OpenGL, with very rich collections of enums. In 
>> bindings to these libraries, the enums are used directly as integers, with 
>> no special meaning attached to them, and the integers are passed directly 
>> to the C functions.
>>
>> If you compare this with Haskell, for example, (
>> https://hackage.haskell.org/package/OpenGL-2.11.0.0/docs/Graphics-Rendering-OpenGL-GL-BufferObjects.html),
>>  
>> there enums are transformed to Haskell type constructors, so it's no longer 
>> possible to pass a wrong "kind" of enum to a C function.
>>
>> What's a good Julian way of specifying richer relationships between plain 
>> C enums and their meaning?
>>
>> If symbols are the way to go, how would you write down a function that 
>> takes a symbol as an argument, but only accepts a specific list of symbols? 
>> Would you just use a Dict{Symbol, Cenum} to express the mapping between 
>> Julia symbols and C enums?
>>
>> Do you think it's a good idea to replace C enums with "richer" Julia 
>> values, when most users are probably just fine working with plain integers?
>>
>> This is an issue for most Julia bindings to C libraries, but it is 
>> probably not very important because using plain enums doesn't lead to that 
>> much trouble for anyone familiar with the underlying C library.
>>
>>

Reply via email to