GNU bug report logs - #43080
[PATCH] gnu: add j version 902.

Previous Next

Package: guix-patches;

Reported by: Joseph Novakovich <josephnovakovich <at> gmail.com>

Date: Fri, 28 Aug 2020 05:19:02 UTC

Severity: normal

Tags: patch

Merged with 48463

To reply to this bug, email your comments to 43080 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#43080; Package guix-patches. (Fri, 28 Aug 2020 05:19:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Joseph Novakovich <josephnovakovich <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 28 Aug 2020 05:19:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Joseph Novakovich <josephnovakovich <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: add j version 902.
Date: Fri, 28 Aug 2020 00:05:45 +0000
[Message part 1 (text/plain, inline)]
Hello!

I added the file gnu/packages/j.scm for a package definition for the J
programming language. I have also written expressions for jqt and the
majority of the J addons, but I thought it made sense to start with
only the base language and repl.

Hopefully nothing is too horribly off about this patch!

Joseph
[0001-gnu-add-j-version-902.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#43080; Package guix-patches. (Tue, 01 Sep 2020 13:20:02 GMT) Full text and rfc822 format available.

Message #8 received at 43080 <at> debbugs.gnu.org (full text, mbox):

From: Joseph Novakovich <josephnovakovich <at> gmail.com>
To: 43080 <at> debbugs.gnu.org
Date: Tue, 1 Sep 2020 13:19:40 +0000
On irc, lfam recommended noting that J is implemented in C, so there
are no bootstrapping issues. Also, I was also wondering about better
ways to do libraries/addons. As written, this lets J find them by
pointing to '~/.guix-profile/share/j/addons' but nckx (irc) mentioned
native-search-paths and an environment variable. By default, J doesn't
use one, but that could be changed by modifying the 'profile.ijs'
that's output here.

Joseph




Information forwarded to guix-patches <at> gnu.org:
bug#43080; Package guix-patches. (Mon, 12 Oct 2020 17:38:02 GMT) Full text and rfc822 format available.

Message #11 received at 43080 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Joseph Novakovich <josephnovakovich <at> gmail.com>
Cc: 43080 <at> debbugs.gnu.org
Subject: Re: [bug#43080] [PATCH] gnu: add j version 902.
Date: Mon, 12 Oct 2020 19:37:07 +0200
Hi Joseph,

Joseph Novakovich <josephnovakovich <at> gmail.com> skribis:

> From 798d0e3c2b635cfe3a936937fd3dd3ea1b8c5812 Mon Sep 17 00:00:00 2001
> From: Joseph Novakovich <josephnovakovich <at> gmail.com>
> Date: Thu, 27 Aug 2020 19:16:16 -0400
> Subject: [PATCH] gnu: add j version 902.
>
> ---
>  gnu/packages/j.scm | 180 +++++++++++++++++++++++++++++++++++++++++++++

Sorry for the loooong delay!

A few comments—if needed we can make those changes on your behalf, let
us know.

Could you add j.scm to ‘gnu/local.mk’?

> +    (name "j")
> +    (version "902")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri
> +        (git-reference
> +         (url "https://github.com/jsoftware/jsource")
> +         (commit "59324abbc6c9c3709d39096f5a41e0a4ef28e9f6")))

Why this commit?  If there’s a tag, it would be clearer to refer to the
tag (the ‘commit’ field can name a tag).

> +    (outputs '("out"))

Unnecessary, you can remove it.

> +     `(#:modules
> +       ((guix build gnu-build-system)
> +        (guix build utils))

Likewise.

> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let ((jplatform "linux")
> +                   (j64x "j64avx2"))
> +               (chdir "make2")
> +               (system
> +                (format #f
> +                        "jplatform=~a j64x=~a USE_SLEEF=1 ./build_jconsole.sh"
> +                        jplatform j64x))

Note that we cannot assume AVX2 support (on x86_64, but especially on
non-Intel platforms).  Can you check this doesn’t create binaries that
require AVX2?

Also, it would be more robust to replace ‘system’ by something like:

  (Seton "jplatform" "linux")
  (setenv "USE_SLEEF" "1")
  …
  (invoke "./build_jconsole.sh")

since ‘invoke’ checks the exit code of the given command.

> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((bin-out (string-append (assoc-ref %outputs "out") "/bin"))
> +                    (share-out (string-append (assoc-ref %outputs "out")
> +                                              "/share/j"))
> +                    (jconsole "jlibrary/bin/jconsole")
> +                    (libj.so  "jlibrary/bin/libj.so"))

I’d omit ‘-out’ from variable names.

> +    (synopsis "APL Dialect")

What about “Dialect of the APL programming language” for clarity?

> +    (description "J is a programming language that works with arrays,
> +verbs, adverbs, and conjunctions.  For example, +/x sums array x and
> +/:~x sorts it.")

Please use @code markup for code snippets.  Bonus points if you can
expound a bit!

  https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html

> +    (license gpl3)))

I confirm that this is “version 3 only” per ‘license.txt’.

Could you send an updated patch?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#43080; Package guix-patches. (Mon, 12 Oct 2020 18:14:01 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Joseph Novakovich <josephnovakovich <at> gmail.com>
Cc: 43080 <at> debbugs.gnu.org, guix-patches <at> gnu.org
Subject: Re: [bug#43080]
Date: Mon, 12 Oct 2020 20:13:49 +0200
[Message part 1 (text/plain, inline)]
Joseph,

Thank you for submitting this!

If I don't point this out then someone else will, so...

Joseph Novakovich 写道:
> +(define-public j
> +  (package
> +    (name "j")

...single-letter package names are frowned upon, with ‘r’ being a 
grandfathered exception.

I suggest calling this ‘j-language’ (or ‘j-toolchain’, if that 
word makes sense in J's worldview) instead.

Kind regards,

T G-R
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#43080; Package guix-patches. (Mon, 12 Oct 2020 18:14:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#43080; Package guix-patches. (Fri, 18 Dec 2020 13:08:01 GMT) Full text and rfc822 format available.

Message #20 received at 43080 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Joseph Novakovich <josephnovakovich <at> gmail.com>
Cc: 43080 <at> debbugs.gnu.org
Subject: Re: [bug#43080] [PATCH] gnu: add j version 902.
Date: Fri, 18 Dec 2020 14:07:28 +0100
Hi Joseph,

Did you have a chance to look into it?

Thanks,
Ludo’.

Ludovic Courtès <ludo <at> gnu.org> skribis:

> Hi Joseph,
>
> Joseph Novakovich <josephnovakovich <at> gmail.com> skribis:
>
>> From 798d0e3c2b635cfe3a936937fd3dd3ea1b8c5812 Mon Sep 17 00:00:00 2001
>> From: Joseph Novakovich <josephnovakovich <at> gmail.com>
>> Date: Thu, 27 Aug 2020 19:16:16 -0400
>> Subject: [PATCH] gnu: add j version 902.
>>
>> ---
>>  gnu/packages/j.scm | 180 +++++++++++++++++++++++++++++++++++++++++++++
>
> Sorry for the loooong delay!
>
> A few comments—if needed we can make those changes on your behalf, let
> us know.
>
> Could you add j.scm to ‘gnu/local.mk’?
>
>> +    (name "j")
>> +    (version "902")
>> +    (source
>> +     (origin
>> +       (method git-fetch)
>> +       (uri
>> +        (git-reference
>> +         (url "https://github.com/jsoftware/jsource")
>> +         (commit "59324abbc6c9c3709d39096f5a41e0a4ef28e9f6")))
>
> Why this commit?  If there’s a tag, it would be clearer to refer to the
> tag (the ‘commit’ field can name a tag).
>
>> +    (outputs '("out"))
>
> Unnecessary, you can remove it.
>
>> +     `(#:modules
>> +       ((guix build gnu-build-system)
>> +        (guix build utils))
>
> Likewise.
>
>> +           (lambda* (#:key inputs outputs #:allow-other-keys)
>> +             (let ((jplatform "linux")
>> +                   (j64x "j64avx2"))
>> +               (chdir "make2")
>> +               (system
>> +                (format #f
>> +                        "jplatform=~a j64x=~a USE_SLEEF=1 ./build_jconsole.sh"
>> +                        jplatform j64x))
>
> Note that we cannot assume AVX2 support (on x86_64, but especially on
> non-Intel platforms).  Can you check this doesn’t create binaries that
> require AVX2?
>
> Also, it would be more robust to replace ‘system’ by something like:
>
>   (Seton "jplatform" "linux")
>   (setenv "USE_SLEEF" "1")
>   …
>   (invoke "./build_jconsole.sh")
>
> since ‘invoke’ checks the exit code of the given command.
>
>> +           (lambda* (#:key inputs outputs #:allow-other-keys)
>> +             (let* ((bin-out (string-append (assoc-ref %outputs "out") "/bin"))
>> +                    (share-out (string-append (assoc-ref %outputs "out")
>> +                                              "/share/j"))
>> +                    (jconsole "jlibrary/bin/jconsole")
>> +                    (libj.so  "jlibrary/bin/libj.so"))
>
> I’d omit ‘-out’ from variable names.
>
>> +    (synopsis "APL Dialect")
>
> What about “Dialect of the APL programming language” for clarity?
>
>> +    (description "J is a programming language that works with arrays,
>> +verbs, adverbs, and conjunctions.  For example, +/x sums array x and
>> +/:~x sorts it.")
>
> Please use @code markup for code snippets.  Bonus points if you can
> expound a bit!
>
>   https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html
>
>> +    (license gpl3)))
>
> I confirm that this is “version 3 only” per ‘license.txt’.
>
> Could you send an updated patch?
>
> Thanks,
> Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#43080; Package guix-patches. (Fri, 01 Oct 2021 10:28:02 GMT) Full text and rfc822 format available.

Message #23 received at 43080 <at> debbugs.gnu.org (full text, mbox):

From: Philip Kaludercic <philipk <at> posteo.net>
To: 43080 <at> debbugs.gnu.org
Subject: [PATCH] gnu: add j version 902.
Date: Fri, 01 Oct 2021 10:27:22 +0000
Has there been any further progress on including J?

-- 
	Philip K.




Merged 43080 48463. Request was from Liliana Marie Prikler <liliana.prikler <at> gmail.com> to control <at> debbugs.gnu.org. (Fri, 01 Oct 2021 15:07:02 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 255 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.