Subject: [bug#45972] Julia importer?

From: zimoun <[email-masked]>
Date: Sun, 31 Jan 2021 20:35:07 +0100

Hi,

On Sat, 30 Jan 2021 at 21:13, Nicolò Balzarotti <[email-masked]> wrote:
> zimoun <[email-masked]> writes:

>>> (invoke-julia "using Pkg; Pkg.TOML.parsefile("Project.toml")["name"] |> println")
>>
>> With a bit more glue, could this be transformed into something like
>> “julia->guix-package”?  And so have a Julia package importer, even if it
>> fails for some cases.
>
> Well, if you mean "Can we use Pkg.jl to generate package definitions for
> us?" the answer is "probably yes, but I never investigated this".  That
> line uses just Julia Base TOML.jl, which for some reason is defined
> inside module Pkg.jl (and it's not top-level).

I mean the correct way is to write a TOML parser, probably using PEG.
As it is done with the other importers.

It is a piece of work.  Not especially hard but it could take some time.

So instead, the question is, using a bit of Julia glue and Guile glue,
is it possible to extract the necessary information to have a Guix
package?

Well, maybe these glue code is the same as writing a TOML parser. :-)

> If you instead meant "Can we have a Julia importer?" some time ago I
> wrote one in Julia, I've not used it in the last year, but it did work
> quite well back then.  I attach it here for reference.

Fun!

One thing is how to deal with ’Manifest.toml’.  And pre-compiled
substitutes do not make too much sense in the Julia world.  Well, I do
not know how these Manifest.toml overlap with how Guix works.

Cheers,
simon