Thanks for the guidance gentlemen, I'll probably not get back to this until the weekend.
Robert, and working to migration the Calendrical Calculations code from CL to efl. Am really enjoying effort but some ways to go. My project will leverage this code to support a flexible calendaring system (hoping to leverage the Calendar behaviour in Elixirr 1.3). In parallel also using leex/yecc and Erlang to parse cldr files for locale specific formatting. And elixir for the business logic. It's a great platform where all of these play so well together. Thanks to you both for making it possible - and fun. Cheers, Kip Sent from my iPhone > On 23 May 2016, at 4:21 PM, José Valim <[email protected]> > wrote: > > Thank you Robert! > > Mix already knows how to compile Erlang. The only complexity in the Erlang > compiler is in tracking the .hrl files. Do we need to implement the same for > the .lfe compiler? How does a LFE module "include" another module because it > may need to use its macros? > > José Valim > www.plataformatec.com.br > Skype: jv.ptec > Founder and Director of R&D > >> On Mon, May 23, 2016 at 10:00 AM, Robert Virding <[email protected]> wrote: >> I can't help you on the mix side, though I am very interested in the results. >> >> About the LFE compiler: its interface is very erlang compiler-like on how >> you call it and the options; a file can contain multiple modules so the >> return is a list of module information. This means that there is no direct >> coupling between the LFE file name and the modules generated. I don't know >> if mix supports this type of file/module handling directly. Elixir has the >> same feature so I would guess it does. >> >> I am also very interested to know which parts you wrote in LFE. >> >> Robert >> >> >>> On Sunday, 22 May 2016 13:22:56 UTC+2, José Valim wrote: >>> You should check how the compilers for Erlang and Yecc/Leex are implemented >>> in Mix source. In the best scenario, it will be as simple as the Yecc/Leex >>> one. In the worst scenario, as complex as the Erlang one. >>> >>> >>> >>> José Valim >>> www.plataformatec.com.br >>> Skype: jv.ptec >>> Founder and Director of R&D >>> >>>> On Sun, May 22, 2016 at 12:17 PM, Kip Cole <[email protected]> wrote: >>>> I've mostly got LFE (Lisp Flavoured Erlang) running in a mix project as a >>>> dependency but I haven't got the compiling phase right. I've configured >>>> the compiler and created the mix task. Now I'm looking for some help on >>>> how to: >>>> 1. Manage file change detection (looks like theres some kind of manifest >>>> api but I'm not understanding it) >>>> 2. The mix task for compilation works (mostly) but it doesn't appear to >>>> be invoked with iex starts up with iex -S mix >>>> >>>> Any suggestions? My simple compiler task follows: >>>> >>>> defmodule Mix.Tasks.Compile.Lfe do >>>> use Mix.Task >>>> >>>> @recursive true >>>> @manifest ".compile.lfe" >>>> >>>> @moduledoc """ >>>> Force Lisp Flavored Erlang (lfe) modules to recompile >>>> """ >>>> >>>> def run(_, source_dir \\ "src") do >>>> _ = Mix.Project.get! >>>> _app_dir = Mix.Project.app_path() >>>> >>>> source_dir >>>> |> Path.join("**/*.lfe") >>>> |> Path.wildcard() >>>> |> Enum.each(fn source -> >>>> IO.puts "Compiling #{inspect source}" >>>> :lfe_comp.file String.to_charlist(source) >>>> end) >>>> :ok >>>> end >>>> >>>> @doc """ >>>> Returns Lfe manifests. >>>> """ >>>> def manifests, do: [manifest] >>>> defp manifest, do: Path.join(Mix.Project.manifest_path, @manifest) >>>> end >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "elixir-lang-talk" group. >>>> To unsubscribe from this group and stop receiving emails from it, send an >>>> email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elixir-lang-talk/8c267ef1-471f-4b7a-9d56-40f40dc43654%40googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to a topic in the Google > Groups "elixir-lang-talk" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/elixir-lang-talk/4TMtr8WJjwQ/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-talk/CAGnRm4Lc9DGwwFyh2HO1_i01qYFeN%2B5jumUkeuqt74QBnxx3Pw%40mail.gmail.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "elixir-lang-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-talk/496CE0B2-D4D3-4B1D-8ACC-6E6DF7E0178C%40gmail.com. For more options, visit https://groups.google.com/d/optout.
