LPC may refer to:
Pike is an interpreted, general-purpose, high-level, cross-platform, dynamic programming language, with a syntax similar to that of C. Unlike many other dynamic languages, Pike is both statically and dynamically typed, and requires explicit type definitions. It features a flexible type system that allows the rapid development and flexible code of dynamically typed languages, while still providing some of the benefits of a statically typed language.
Pike features garbage collection, advanced data types, and first-class anonymous functions, with support for many programming paradigms, including object-oriented, functional and imperative programming. Pike is free software, released under the GPL, LGPL and MPL licenses.
Pike has its roots in LPC, which was a language developed for MUDs. Programmers at Lysator in Linköping, Sweden, most notably Fredrik Hübinette and Per Hedbor, separated the language and virtual machine from the rest of the MUD driver, and used it as a rapid prototyping language for various applications, calling it LPC4.
LPC (short for Lars Pensjö C) is an object-oriented programming language derived from C and developed originally by Lars Pensjö to facilitate MUD building on LPMuds. Though designed for game development, its flexibility has led to it being used for a variety of purposes, and to its evolution into the language Pike.
LPC syntax places it in the family of C-like languages, with C and C++ its strongest influences.
Almost everything in LPC is an object. However, LPC does not precisely use the concept of a class (MudOS has something called a class, but it is really a struct). Instead, LPC objects are blueprint objects and clones of blueprint objects, in a prototype-based programming model. One can treat a blueprint object much as a class in other object-oriented languages.
Each object has variables (attributes) and functions (methods). The variables store the object's state; the functions are executable routines that can be called in the object. An object is uniquely defined by the name of the file in which it comes from, plus, if a clone, a numeric identifier. In a typical implementation, a clone of the file /lib/weapon.c
which is the third clone created in the current run session will be /lib/weapon#3
. The blueprint object corresponding to /lib/weapon.c
is simply /lib/weapon
. In a MUD game, common objects include rooms, weapons, armor, and non-player character (NPCs). Most mudlibs define inheritable objects for such common things. In the LPMud 2.4.5 mudlib, for example, the parent object for all rooms is /lib/room
.
Something opened up
the gates again,
I can't control it,
so I rushed right in.
Here comes a mermaid
and a little girl,
Saw open drawers
from around the world.
I got some medals
hanging on my chest,
I've seen some good ones,
but I missed the rest.
Lady luck don't you turn on me,
I'm just a student of your history,
I'm just a student of your history.
Slowpoke I'm gonna run with you,
Wear all your clothes and
do what you do.
Slowpoke
we got some things to find,
When I was faster,
I was always behind,
When I was faster,
I was always behind.
Something pushed back
the curtain again,
The stage is empty
and the crowd is thin.
The song is gentle,
but the song is now.
Something's missing,
but something is found,
Something's missing,
but something is found,
Something's missing,
but something is found.
Slowpoke I'm gonna run with you,
Wear all your clothes and
do what you do.
Slowpoke
we got some things to find,
When I was faster,
I was always behind.
When I was faster,
When I was faster,
I was always behind,