Re: Names of `stringp`, `intp`, `floatp`…

Fredrik Hubinette <[email protected]> Thu, 20 Mar 2025 22:49:25 -0700
Newsgroups gmane.comp.lang.pike.user
Message-ID <CAKab2FyzAgUQ62H8G7V_N9Yy-5i_QLOF1iEs8nybnXo278-MWw@mail.gmail.com>
--000000000000de6ea90630d3d169
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I'm afraid it goes back even further than that. intp, stringp, etc. were
already present in the lpmud drivers when I started playing LPMUDs in 1991.
Since github wasn't a thing back then, finding out when it was actually
added turns out to be somewhat difficult.

     /Hubbe




On Thu, Mar 20, 2025 at 12:08=E2=80=AFPM Henrik Grubbstr=C3=B6m <grubba@rox=
en.com> wrote:

> On Thu, 20 Mar 2025, Marcos Cruz wrote:
>
> > Just out of curiosity, what does the "p" means in `stringp`, `intp`,
> > `floatp`, `functionp`, `objectp`, `arrayp`=E2=80=A6?
>
> The "p" is an abreviation of "predicate", and has been inherited from
> LISP and Scheme, which have predicate functions such as eg `integerp`,
> `floatp` and `consp`.
>
> > When I found those useful functions by the first time, I wondered why
> > they were not called, say, `is_string`, `is_int`, `is_float`,
> > `is_array`=E2=80=A6?
>
> The LISP naming convention was the common naming convention at the time
> of LPC4 and =CE=BCLPC.
>
>         /grubba
>
> --
> Henrik Grubbstr=C3=B6m                                       grubba@roxen=
.com
> Roxen Internet Software AB

--000000000000de6ea90630d3d169
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I&#39;m afraid it goes back even further than that. i=
ntp, stringp, etc. were already present in the lpmud drivers when I started=
 playing LPMUDs in 1991.</div><div>Since github wasn&#39;t a thing back the=
n, finding out when it was actually added turns out to be somewhat difficul=
t.</div><div><br></div><div>=C2=A0=C2=A0=C2=A0=C2=A0 /Hubbe</div><div><br><=
/div><div><br></div><div><br></div></div><br><div class=3D"gmail_quote gmai=
l_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Mar 20, 20=
25 at 12:08=E2=80=AFPM Henrik Grubbstr=C3=B6m &lt;<a href=3D"mailto:grubba@=
roxen.com">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,=
204,204);padding-left:1ex">On Thu, 20 Mar 2025, Marcos Cruz wrote:<br>
<br>
&gt; Just out of curiosity, what does the &quot;p&quot; means in `stringp`,=
 `intp`,<br>
&gt; `floatp`, `functionp`, `objectp`, `arrayp`=E2=80=A6?<br>
<br>
The &quot;p&quot; is an abreviation of &quot;predicate&quot;, and has been =
inherited from<br>
LISP and Scheme, which have predicate functions such as eg `integerp`,<br>
`floatp` and `consp`.<br>
<br>
&gt; When I found those useful functions by the first time, I wondered why<=
br>
&gt; they were not called, say, `is_string`, `is_int`, `is_float`,<br>
&gt; `is_array`=E2=80=A6?<br>
<br>
The LISP naming convention was the common naming convention at the time<br>
of LPC4 and =CE=BCLPC.<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 /grubba<br>
<br>
-- <br>
Henrik Grubbstr=C3=B6m=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0<a href=3D"mailto:[email protected]" target=3D"_blank">grubba@r=
oxen.com</a><br>
Roxen Internet Software AB</blockquote></div>

--000000000000de6ea90630d3d169--