Re: Lowercase naming requirement for systems?

2019-02-19 Thread Robert Goldman
Yes, these are good points, and that's why I have pushed an update to 
the manual.  Please have a look at the "The defsystem grammar" ASDF 
manual page here:


https://www.common-lisp.net/project/asdf/asdf/The-defsystem-grammar.html#The-defsystem-grammar

Only the first four entries have changed.

Please also have a look at the subsections immediately below: 6.3.1, 
6.3.2, and 6.3.3.


I would welcome any comments you (or anyone receiving this message -- 
the more the merrier!) have.  The previous discussion was not as clear 
as it should have been.


The manual could definitely use an extensive overhaul, but this band-aid 
is well better than nothing.


Best regards,
Robert


On 19 Feb 2019, at 13:30, Robert Dodier wrote:

On Sun, Feb 17, 2019 at 4:08 PM Robert Goldman  
wrote:



It's actually there, at least if you are looking for it.


In my own defense: I did look for it and I did find that text, but
didn't find it helpful. It says the name of a system is conventionally
lowercase -- this is not the same as saying that it is required to be
lowercase.

I found the text about pathname specifiers as well. I didn't see a
requirement there because neither the system name nor component names
were specified by the grammar or the commentary on the grammar to be
pathname specifiers.

Thanks again for your help,
Robert Dodier



Robert P. Goldman
Research Fellow
Smart Information Flow Technologies (d/b/a SIFT, LLC)

319 N. First Ave., Suite 400
Minneapolis, MN 55401

Voice:  (612) 326-3934
Email:rpgold...@sift.net



Re: Lowercase naming requirement for systems?

2019-02-19 Thread Robert Dodier
On Sun, Feb 17, 2019 at 4:08 PM Robert Goldman  wrote:

> It's actually there, at least if you are looking for it.

In my own defense: I did look for it and I did find that text, but
didn't find it helpful. It says the name of a system is conventionally
lowercase -- this is not the same as saying that it is required to be
lowercase.

I found the text about pathname specifiers as well. I didn't see a
requirement there because neither the system name nor component names
were specified by the grammar or the commentary on the grammar to be
pathname specifiers.

Thanks again for your help,
Robert Dodier



Re: Lowercase naming requirement for systems?

2019-02-17 Thread Robert Goldman
I plan to import this into the manual.


... in my copious free time.

Best,
R

On 17 Feb 2019, at 15:01, Florian Margaine wrote:

> Hi,
>
> On Sun, Feb 17, 2019 at 9:54 PM Robert Dodier 
> wrote:
>
>> On Sun, Feb 17, 2019 at 6:25 AM Robert P. Goldman 
>> wrote:
>>
>>> Quick response for now: yes, lowercase naming is a requirement.
>>
>> Hi Robert, thanks for your reply. Got it, no problem. I will adjust my
>> stuff accordingly.
>>
>> It would really help a lot if the policy for the name of the system
>> and the corresponding .asd filename were spelled out in the ASDF
>> manual. As it stands, the manual doesn't say anything about
>> requirements for system-designator; there are incidental comments
>> suggesting using lowercase but not a specification or requirement. If
>> names are indeed restricted to lowercase letters, digits, and hyphens,
>> it would be great to say so.
>>
>
> At least this exists, although I'm not sure how easy to find it is:
> https://gitlab.common-lisp.net/asdf/asdf/blob/master/doc/best_practices.md
>
> Cheers,
> -- 
> Florian Margaine




Robert P. Goldman
Research Fellow
Smart Information Flow Technologies (d/b/a SIFT, LLC)

319 N. First Ave., Suite 400
Minneapolis, MN 55401

Voice:  (612) 326-3934
Email:rpgold...@sift.net


Re: Lowercase naming requirement for systems?

2019-02-17 Thread Robert Goldman

On 17 Feb 2019, at 14:53, Robert Dodier wrote:

On Sun, Feb 17, 2019 at 6:25 AM Robert P. Goldman  
wrote:



Quick response for now: yes, lowercase naming is a requirement.


Hi Robert, thanks for your reply. Got it, no problem. I will adjust my
stuff accordingly.

It would really help a lot if the policy for the name of the system
and the corresponding .asd filename were spelled out in the ASDF
manual. As it stands, the manual doesn't say anything about
requirements for system-designator; there are incidental comments
suggesting using lowercase but not a specification or requirement. If
names are indeed restricted to lowercase letters, digits, and hyphens,
it would be great to say so.

On a separate topic, are there any restrictions on the names of
components? As it stands the manual says only that component names may
be either strings or symbols.  Mixed case component names appear to
work OK but that may be only fortuitous.


That *is* only fortuitous.  If a user of your system was to configure 
ASDF using logical pathnames for their source repository, these would 
not work.  Also underscores would cause failures.


That's at least true for SBCL.  ACL does some DWIMing when it can figure 
out logical pathnames that aren't strictly kosher.  I don't know about 
other CL implementations.


Thanks again, and best wishes.
Robert Dodier



Robert P. Goldman
Research Fellow
Smart Information Flow Technologies (d/b/a SIFT, LLC)

319 N. First Ave., Suite 400
Minneapolis, MN 55401

Voice:  (612) 326-3934
Email:rpgold...@sift.net


Re: Lowercase naming requirement for systems?

2019-02-17 Thread Robert Goldman

It's actually there, at least if you are looking for it.

Looking for "lower" I found this, but in the discussion of 
`asdf:load-system`, which isn't great placement.


```
Note that the canonical name of a system is a string, conventionally 
lowercase.

A system name can also be specified as a symbol (including a keyword),
in which case its @code{symbol-name} is taken and lowercased.
The name must be a suitable value for the @code{:name} initarg
to @code{make-pathname} in whatever filesystem the system is to be 
found.


The lower-casing-symbols behaviour is unconventional,
but was selected after some consideration.
The type of systems we want to support
either have lowercase as customary case (Unix, Mac, Windows)
or silently convert lowercase to uppercase (lpns).
```

This material is largely repeated in the "Pathname specifiers" section.

I have clarified this a little in the latest draft of the manual, and 
made sure that it's explained clearly in the defsystem grammar chapter.  
I will push this update and make sure that the copy of the manual on the 
web site is up-to-date.




On 17 Feb 2019, at 14:53, Robert Dodier wrote:

On Sun, Feb 17, 2019 at 6:25 AM Robert P. Goldman  
wrote:



Quick response for now: yes, lowercase naming is a requirement.


Hi Robert, thanks for your reply. Got it, no problem. I will adjust my
stuff accordingly.

It would really help a lot if the policy for the name of the system
and the corresponding .asd filename were spelled out in the ASDF
manual. As it stands, the manual doesn't say anything about
requirements for system-designator; there are incidental comments
suggesting using lowercase but not a specification or requirement. If
names are indeed restricted to lowercase letters, digits, and hyphens,
it would be great to say so.

On a separate topic, are there any restrictions on the names of
components? As it stands the manual says only that component names may
be either strings or symbols.  Mixed case component names appear to
work OK but that may be only fortuitous.

Thanks again, and best wishes.
Robert Dodier



Robert P. Goldman
Research Fellow
Smart Information Flow Technologies (d/b/a SIFT, LLC)

319 N. First Ave., Suite 400
Minneapolis, MN 55401

Voice:  (612) 326-3934
Email:rpgold...@sift.net


Re: Lowercase naming requirement for systems?

2019-02-17 Thread Florian Margaine
Hi,

On Sun, Feb 17, 2019 at 9:54 PM Robert Dodier 
wrote:

> On Sun, Feb 17, 2019 at 6:25 AM Robert P. Goldman 
> wrote:
>
> > Quick response for now: yes, lowercase naming is a requirement.
>
> Hi Robert, thanks for your reply. Got it, no problem. I will adjust my
> stuff accordingly.
>
> It would really help a lot if the policy for the name of the system
> and the corresponding .asd filename were spelled out in the ASDF
> manual. As it stands, the manual doesn't say anything about
> requirements for system-designator; there are incidental comments
> suggesting using lowercase but not a specification or requirement. If
> names are indeed restricted to lowercase letters, digits, and hyphens,
> it would be great to say so.
>

At least this exists, although I'm not sure how easy to find it is:
https://gitlab.common-lisp.net/asdf/asdf/blob/master/doc/best_practices.md

Cheers,
-- 
Florian Margaine


Re: Lowercase naming requirement for systems?

2019-02-17 Thread Robert Dodier
On Sun, Feb 17, 2019 at 6:25 AM Robert P. Goldman  wrote:

> Quick response for now: yes, lowercase naming is a requirement.

Hi Robert, thanks for your reply. Got it, no problem. I will adjust my
stuff accordingly.

It would really help a lot if the policy for the name of the system
and the corresponding .asd filename were spelled out in the ASDF
manual. As it stands, the manual doesn't say anything about
requirements for system-designator; there are incidental comments
suggesting using lowercase but not a specification or requirement. If
names are indeed restricted to lowercase letters, digits, and hyphens,
it would be great to say so.

On a separate topic, are there any restrictions on the names of
components? As it stands the manual says only that component names may
be either strings or symbols.  Mixed case component names appear to
work OK but that may be only fortuitous.

Thanks again, and best wishes.
Robert Dodier



Re: Lowercase naming requirement for systems?

2019-02-17 Thread Robert Goldman
Another reason is that we allow the programmer to refer to systems with 
symbols as well as strings, and symbols are not -- without a substantial 
nuisance -- case-sensitive.


I'm afraid you are better off with "solve-solvable2".  And avoid 
"solve_solvable" because underscores are not legal characters in logical 
pathnames.


Best,
R


On 17 Feb 2019, at 8:24, Robert P. Goldman wrote:

Quick response for now: yes, lowercase naming is a requirement. There 
are a number of reasons for this, including the fact that CL's logical 
pathnames are case-insensitive.


Best,
R

Sent from my iPhone

On Feb 17, 2019, at 01:21, Robert Dodier  
wrote:


Hi,

The ASDF manual says that the name of a system is a lowercase string.
Is that actually a requirement?

I was trying to create an .asd system which has a name with mixed
upper- and lowercase characters and the system is stored in a file of
the same name on a case-sensitive file system (Linux). But I get
"Component Foo not found" for that. If I change the name of the 
system

and the name of the file to lowercase, the system is found.

For the record, I've pasted the would-be mixed-case named system
below. It contains stuff that will make it generally unloadable since
you don't have my maxima-file hackery. If it turns out we need to go
into this in more detail, I will devise a more minimal example. But
first maybe someone can say what the name requirement is.

best,

Robert Dodier

PS.
(defsystem "SolveSolvable2"
 :defsystem-depends-on ("maxima-file")
 :author "Yasuaki Honda"
 :license "GNU Lesser General Public License, version 2"
 :description "Program SolveSolvable2 of GaloisGroupSolver, a Maxima
package for solving polynomials based on their Galois Groups"

 :components
   ((:maxima-file "Gal")
(:maxima-file "FiniteGroup")
(:maxima-file "ExtendedField")
(:maxima-file "Stage3")
(:maxima-file "Verify")
(:maxima-file "SolveSolvable2")))




Robert P. Goldman
Research Fellow
Smart Information Flow Technologies (d/b/a SIFT, LLC)

319 N. First Ave., Suite 400
Minneapolis, MN 55401

Voice:  (612) 326-3934
Email:rpgold...@sift.net



Re: Lowercase naming requirement for systems?

2019-02-17 Thread Robert P. Goldman
Quick response for now: yes, lowercase naming is a requirement. There are a 
number of reasons for this, including the fact that CL's logical pathnames are 
case-insensitive.

Best,
R

Sent from my iPhone

> On Feb 17, 2019, at 01:21, Robert Dodier  wrote:
> 
> Hi,
> 
> The ASDF manual says that the name of a system is a lowercase string.
> Is that actually a requirement?
> 
> I was trying to create an .asd system which has a name with mixed
> upper- and lowercase characters and the system is stored in a file of
> the same name on a case-sensitive file system (Linux). But I get
> "Component Foo not found" for that. If I change the name of the system
> and the name of the file to lowercase, the system is found.
> 
> For the record, I've pasted the would-be mixed-case named system
> below. It contains stuff that will make it generally unloadable since
> you don't have my maxima-file hackery. If it turns out we need to go
> into this in more detail, I will devise a more minimal example. But
> first maybe someone can say what the name requirement is.
> 
> best,
> 
> Robert Dodier
> 
> PS.
> (defsystem "SolveSolvable2"
>  :defsystem-depends-on ("maxima-file")
>  :author "Yasuaki Honda"
>  :license "GNU Lesser General Public License, version 2"
>  :description "Program SolveSolvable2 of GaloisGroupSolver, a Maxima
> package for solving polynomials based on their Galois Groups"
> 
>  :components
>((:maxima-file "Gal")
> (:maxima-file "FiniteGroup")
> (:maxima-file "ExtendedField")
> (:maxima-file "Stage3")
> (:maxima-file "Verify")
> (:maxima-file "SolveSolvable2")))
>