The problem is that I can't possibly think of all the fun-ruining "cheats"
in advance.  Use your best judgement, and I'll do the same when it comes
to evaluating submissions.  

I don't want to rule out string literals or undefined names or even based
constants entirely, because judicious use of them might admit otherwise
interesting-but-inadmissable entries.  Basically, you can use them to get
you over the last few yards to the finish line,   but at most they should
be icing, not cake. And yes, though I'm personally in no position to
accuse someone of pedantry, "use" has its normal meaning: it must
contribute to the syntax (and ideally, semantics) of the submitted
program. 

If you want tighter definitions: 
   - Submit a sentence or (less interesting, but still permissable) 
     an ordered list of sentences, which, when typed into Jconsole's 
     interactive prompt, produces a result different from the literal
     value of the sentence(s).
 
   - You should assume the sentence(s) are typed as-is into the 
     J8 REPL, and are the first things that specific J session has 
     executed (i.e. assume no prerequistes whatsover; you can test
     this on your system by running jconsole -jprofile [i.e. J
     without the standard library]). 

   - Any results you produce must be guaranteed by the J Dictionary
     (i.e. taking advantage of bugs in J's implementation is verboten).

   - You should stay entirely within the J sandbox, and not
     attempt to interact with the host environment. Neither may you
     make any assumptions about the host environment.  

   - I guess if it matters to you, you may assume a specific
     executable word size (i.e. J32 or J64), but it would be better
     if you ensured it didn't matter to you.

In other words, we're playing with the J language here, not the J
interpreter. If there any more ambiguities which concern you or would
prevent you from participating, please just ask, and I'll clarify as best
I can.

-Dan 

----- Original Message ---------------

Subject: Re: [Jprogramming] Programming puzzle: shortest valid
pangrammicprogram
   From: Raul Miller <[email protected]>
   Date: Mon, 19 May 2014 12:10:14 -0400
     To: Programming forum <[email protected]>

Note that there are multiple concepts of "use". You might want to be more
specific about that.

For example, here's an expression which uses every ascii character:

   128{a.

You might have meant where every printable ascii character appears in the
script of the program. But that raises another question: what is a program?
This isn't an entirely moot point because we have stuff that can copied and
pasted from email (which has line length limitations), we have stuff that
can be loaded using the load command, and we have programs which can be
valid at the OS command line (for various different operating systems).

Worse, your "overreliant" clause is so ambiguous that I don't really know
what you intend. Is 25% of each overreliant? 1%?

Anyways, this has some possibilities, but my pedantic side is going to need
to test the boundaries quite a bit for something this ambiguous.

Thanks,

-- 
Raul



On Mon, May 19, 2014 at 12:01 PM, Dan Bron <[email protected]> wrote:

> Write the shortest valid J program that uses all printable ASCII
> characters. More specifically, write a J program which:
>
> -  Doesn't raise an error
> -  Returns something other than itself (e.g. 'abcde...!@$%' doesn't count;
> a ;: c / @ e. i:  .. doesn't count, etc).
> -  Uses each of the following characters at least once:
>
>            a. {~ 32 +i.5 19
>
>          !"#$%&'()*+,-./012
>         3456789:;<=>?@ABCDE
>         FGHIJKLMNOPQRSTUVWX
>         YZ[\]^_`abcdefghijk
>         lmnopqrstuvwxyz{|}~
>
> Solutions which are overreliant on character literals (e.g.
> #'abcdef..!@$...') or undefined names (e.g. abc`def`ghi etc) will be
> considered cop-outs and be disqualified. If there is more than one
> shortest program, the first to be posted (based on Forum timestamp) will
> be declared the winner.
>
> -Dan
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to