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'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'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 <<a href=3D"mailto:grubba@=
roxen.com">[email protected]</a>> 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>
> Just out of curiosity, what does the "p" means in `stringp`,=
`intp`,<br>
> `floatp`, `functionp`, `objectp`, `arrayp`=E2=80=A6?<br>
<br>
The "p" is an abreviation of "predicate", and has been =
inherited from<br>
LISP and Scheme, which have predicate functions such as eg `integerp`,<br>
`floatp` and `consp`.<br>
<br>
> When I found those useful functions by the first time, I wondered why<=
br>
> they were not called, say, `is_string`, `is_int`, `is_float`,<br>
> `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--