[seqfan] Re: Java implementations update

Neil Sloane njasloane at gmail.com
Thu Jun 20 00:41:19 CEST 2019


I would not like to see the OEIS get committed to any
particular language , whether it be Java, or Javascript, or PARI, or
anything else.
Languages come and go every few years. I remember when Algol was the flavor
of the year.  And there was Lisp, God's own programming language.
You don't hear much about Lisp any more.

Let's keep all the languages that we have. Diversity is important.

Best regards
Neil


On Wed, Jun 19, 2019 at 5:50 PM Sean A. Irvine <sairvin at gmail.com> wrote:

> Actually in the jOEIS we do have wrappers that achieve what you suggest.
> In particular, there is a factory that is able to generate terms for any
> sequence having an implementation and this is indeed how I usually runs the
> classes myself.
>
> For example, from an installation of the jOEIS, you can run
>
> joeis A000045 | head
> 0
> 1
> 1
> 2
> 3
> 5
> 8
> 13
> 21
> 34
>
> This works precisely because all the sequences implement exactly the same
> interface.   For sure, there is still room for improvement here.   There
> isn't yet a convenient way to generate b-files because most of the
> implementations don't actually know what the correct offset is.
>
> I would certainly welcome further efforts along the lines you suggest in
> other languages.  Each such effort is another chance at detecting and
> correcting mistakes in the OEIS.  Admittedly such efforts will never be
> completely independent, for example the jOEIS is only able to have as many
> implementations as it does because it has borrowed extensively from
> existing programs in other languages and/or formulas in the entries.
>
> Sean.
>
>
> On Thu, 20 Jun 2019 at 06:13, M. F. Hasler <oeis at hasler.fr> wrote:
>
> > SeqFans,
> >
> > this jOEIS approach is certainly interesting, but I would like to
> propose a
> > different approach aloready mentioned years ago here and on the wiki.
> > As proof of concept, I make available an example OEIS_js web page at
> > https://github.com/m-f-h/OEIS.js which you can download on your
> computer.
> > This page looks exactly like any random page of OEIS.org search results,
> > with two major differences:
> > - it has two buttons: [EXTEND] in the DATA section and [PARI] in the
> > PROGRAM section
> > - the HTML source is 250 lines instead of 550 lines (and the main content
> > is in less then 100 lines as opposed to about 400 lines in the original).
> >
> > The main feature are the [EXTEND] and [PARI] buttons, which can be
> clicked
> > to add terms to the DATA section, resp. to add PARI/GP code in the PROG
> > section.
> >
> > This is done by just calling one single javascript function oejs(). This
> > function is *completely independent* of the sequence and will work with
> NO
> > CHANGE for any other sequence (for the moment "only" for the 30 000+
> linear
> > recurrent sequences -- but it is just a quick hack written in 1-2 hours).
> > It fetches the signature of the recurrence from the LINKS section and
> uses
> > this to extend the DATA or to produce the PARI code (using the minimal
> > number of initial values from DATA).
> >
> > Obviously, extending the DATA term by term is just meant to show that it
> > works.
> > The main use would be to produce a b-file (or some more practical format,
> > on request) of arbitrary (user-defined) size.
> >
> > I insist on the main characteristic (as opposed to the jOEIS approach)
> > which is to have one single, *sequence-independent* function.
> > Also, this improvement would greatly reduce server load and traffic. (The
> > script works on the user's computer, and could be put as separate file on
> > the server (as could/should  the CSS) so it would be cached by the users'
> > brower and make the HTML page even 100 more lines smaller.)
> >
> > See the REAME file on github for more information and possible
> extensions.
> > I'd be glad if this could find interest by others to be developed.
> > In particular, I remember that Charles knows how to add a script as
> > extension to your browser, which would make it possible to use this extra
> > functionality even without waiting for it to get officially added to the
> > main OEIS -- but I hope this could be done sooner or later.
> >
> > Among many others, one major advantage would be to get rid of the many
> > submissions of trivial PARI, MAGMA, Mmca, ... scripts, g.f.'s and
> > recurrence formulas: these (the trivial ones!) could and should be
> produced
> > on-the-fly, allowing to make improvements in one single place that would
> > immediately have site-wide effect.
> > The script could/should also make consistency checks w.r.t. existing
> > FORMULAs etc. and in that way contribute to consolidation of the OEIS.
> >
> > A word to those who'd object that it's only useful for linear
> recurrences:
> > that's the case for this proof-of-concept quick hack, but obviously it
> can
> > be extended to many other classes, and actually there's an easy way to
> > extend the functionality to theoretically /any/ sequence, namely, by
> adding
> > JS (or other suitable) code in the PROG section, which the script could
> > recognize and use.
> >
> > Last not least, I should also say that the goal is not to get rid of user
> > contributions, but on the contrary, to be able to focus on *nontrivial*,
> > interesting contributions, and to dedicate the required care and time to
> > these.
> >
> > (This approach could also benefit from work already done in the  jOEIS
> > framework: code written for these implementations could help to extend
> > functionality to "nontrivial" cases.)
> >
> > - Maximilian
> >
> > On Tue, Jun 18, 2019 at 6:00 PM Sean A. Irvine wrote:
> >
> > > Thanks to recent contributions by Georg Fischer, the collection of Java
> > > programs for OEIS sequences (jOEIS) now has implementations for over
> > 58200
> > > sequences, especially concentrated in A-numbers less than A024000.  We
> > are
> > > currently covering about 1/6 of all sequences.
> > >
> > > The main aim of the project is to validate sequence data in the OEIS.
> > > The entire project is available on github:
> > > https://github.com/archmageirvine/joeis
> > >
> > > To the extent possible, these implementations are regularly tested
> > against
> > > the data lines in the corresponding sequences.  Georg has done
> extensive
> > > testing against b-files, leading to numerous corrections in the OEIS
> (and
> > > to be fair, in the implementations as well).
> > >
> > > Georg and I are looking for additional contributors of Java code or of
> > > other algorithms which cover some number of sequences.  The following
> > link
> > > is those A-numbers below A024000 for which we do not currently have an
> > > implementation:
> > >
> > >
> >
> https://github.com/archmageirvine/joeis/blob/master/src/irvine/oeis/notdone.dat
> > >
> > > Some of these are inherently hard, but in many cases it is lack of
> > > information that prevents implementation.  Many currently have no
> useful
> > > program (or formula) in any language and are thus good candidates for
> > > general improvement in the OEIS.
> > >
> >
> > --
> > Seqfan Mailing list - http://list.seqfan.eu/
> >
>
> --
> Seqfan Mailing list - http://list.seqfan.eu/
>



More information about the SeqFan mailing list