Yes, as Duncan has already said there are no problems in either using behaviours from Erlang and Elixir or defining behaviours in LFE which are usable from E/E. At this level they are just standard Erlang modules with a predefined interface. There are no problems writing them in LFE, you can either build your behaviour on top of gen_server or follow the rules in the Special Processes/sys and proc_lib section of the documentation
http://erlang.org/doc/design_principles/spec_proc.html. There is nothing which causes any complications for LFE.
No, currently the compiler doesn't do any of the standard checking associated with a
behaviour declaration. There are no difficulties with it, I just haven't gotten around to it.
Adding something like
(defcallback ...) wouldn't be too difficult, we just have to agree to a type syntax as the callback def is really just a type spec of the callback function. And I have to work out what to do with the spec so it is handled in the same way as the Erlang
-callback definition. I personally don't have ny problems with
(defun bahaviour_info ...). KISS principle. Or perhaps the KICASS principle. (Keep It Clear And Simple Stupid). All I need is an extra K. :-)
Maybe go even further and have a special
defbehaviour declaration instead of using
defmodule? There is no end to how far you can go. :-)
Robert