An article in the Saturday edition of the NRC (one of the national newspapers in the Netherlands) made me aware of the work of Anna Wierzbicka and Natural Semantic Metalanguage. From the Wikipedia article:
- The Natural Semantic Metalanguage is an approach to semantic analysis based on reductive paraphrase (that is, breaking concepts/words down into combinations of simpler concepts/words) using a small collection of semantic primes. The semantic primes (below) believed to be atomic, primitive meanings present in all human languages.
Currently the following 61 primitives are recognized (in alphabetical order):
- ABOVE, AFTER, ALL, BAD, BECAUSE, BEFORE, BELOW, BIG, BODY, CAN, DIE, DO, FAR, FEEL, FOR SOME TIME, GOOD, HAPPEN, HAVE, HEAR, HERE, I, IF, INSIDE, KIND OF, KNOW, LIKE, LIVE, A LONG TIME, MANY/MUCH, MAYBE, MOMENT, MORE, MOVE, (LONG), NEAR, NOT, NOW, ONE, OTHER, PART OF, PEOPLE/PERSON, THE SAME, SAY, SEE, A SHORT TIME, SIDE, SMALL, SOME, SOMEONE, SOMETHING/THING, THERE IS, THINK, THIS, TOUCH, TRUE, TWO, VERY, WANT, WHEN/TIME, WHERE/PLACE, WORD, YOU
That it is possible to express complex concepts with NSM, was the description of the Dutch word "gezellig" that was mentioned in the article:
- Everyone here can think like this: I am here now with some other people. These people are all doing some things at the same time because they want to feel something good. They don't want to anyone here to feel something bad. They all feel something good. I want to be here with these people.
In the past I have been frequently asked to translate the word "gezellig", but never have been able to do so with all the nuances involved. I think this definition is very good.
Anyway, after reading the article I could not help but wonder how you would express Perl with these primitives, especially compared to other programming languages. And thereby conclusively proof that Perl is a better programming language ;-)
Liz
Update:
Someone pointed out to me that in my example about the Dutch word "gezellig", the word "everyone" is not a primitive. That is correct: you don't need to use only primitives in a description. You may also use compounds, as long as these compounds consist of other compounds or primitives. Just as your program consists of subroutine calls, possibly within subroutine calls. In the end, they're all Perl statements.
Getting back to "everyone", that of course is a compound, described by "all people".
Re: [probably OT] Perl in Natural Semantic Metalanguage
by simonm (Vicar) on Sep 22, 2003 at 16:27 UTC
|
| [reply] [Watch: Dir/Any] |
|
After poking around a bit more, it looks like the 61 primitives in NSM correspond to 41 words in Toki Pona; some of the overlap comes from merging ideas such as "like" and "want", but the biggest change is use of compound phrases for things like places and times -- using "small time" for "brief" and "near me" for "here".
ala - NOT
ali - ALL
anpa - BELOW
ante - OTHER
ijo - SOMETHING/THING
ike - BAD
insa - INSIDE
jan - PEOPLE/PERSON; SOMEONE (jan wan)
jo - HAVE
kama - HAPPEN; AFTER (kama la)
ken - CAN; MAYBE; IF (ken la)
kute - HEAR
lili - SMALL, SOME
lon - THERE IS, TRUE
luka - PART OF
lukin - SEE
ma - WHERE/PLACE (or tomo for indoor places)
mi - I
moli - DIE
mute - MANY/MUCH, MORE, VERY
ni - THIS
nimi - WORD
pali - DO, LIVE
pilin - FEEL, THINK
pini - BEFORE
poka - NEAR; SIDE; TOUCH; HERE (poka mi); FAR (poka mi ala)
pona - GOOD
sama - THE SAME, KIND OF
sewi - ABOVE
sijelo - BODY
sina - YOU
sona - KNOW
suli - BIG; LONG
tan - BECAUSE
tawa - MOVE
tenpo - WHEN/TIME; A LONG TIME (tenpo suli); FOR SOME TIME (tenpo wa
+n);
MOMENT (tenpo lili ni); NOW (tenpo ni); A SHORT TIME (tenpo
+lili)
toki - SAY
tu - TWO
wan - ONE
wile - LIKE; WANT
| [reply] [Watch: Dir/Any] [d/l] |
Re: [probably OT] Perl in Natural Semantic Metalanguage
by allolex (Curate) on Sep 23, 2003 at 06:48 UTC
|
Yes, I proposed a slight formalization of NSM to Cliff Goddard in a class he taught a few years ago, but the appeal of NSM to many is precisely it's ability to express quite complicated and culturally-embedded concepts in less formal terms.
NSM has gone to great lengths to discover universal semantic primes.
This granted, its main strength seems to be in the fact that by deciding
to apply NSM, the linguist limits the amount of processing he or she has
to perform to describe language meaning. And since it is in the spirit
of a metalanguage to make description clearer and easier, I propose the
expansion of the morphosyntactic and pragmatic constraints on NSM
descriptions suggested in (and by) this paper. By creating rules apart
from lexical constraints, NSM can also be a useful and productive method
of doing semantics even for novice practitioners.
(Davison, Damon Allen. 2001. A Reassessment of German ``Anger'' Verbs. Unpublished term paper from the 2001 LSA Institute.)
At first guess, I would say that neither Perl nor any other programming language is complicated enough to require such description. Or in other words, Perl is already formalized, so such a description is not necessary. I know the primes are tempting, but Perl's "semantic primes" are the list of operations Perl can do, which should ultimately the C vocabulary. I think a lot of the monks are interested in having specific sigils for operations they use a lot, but Perl's best feature, IMHO, is its ability to let me express myself in non-prime terms.
What would be interesting to me is a schematic breakdown of the syntax-semantics "interface" in Perl's various contexts, e.g . showing why efficiency for the programmer and the need for unambiguous constructions promote the growth of Perl's lexicon, like in the case of "==", "ne", "eq", etc.
You might be interested in having a look at Cliff's 1998 introduction to Semantics. He discusses NSM in a lot more detail there.
--
Allolex
| [reply] [Watch: Dir/Any] |
Re: [probably OT] Perl in Natural Semantic Metalanguage
by sandfly (Beadle) on Sep 25, 2003 at 19:46 UTC
|
Very interesting! It seems like there are too many terms for time though, and you could cut a few others out if you traded OPPOSITE for some of the other primitives, such as: ABOVE, BELOW, BIG, SMALL, NEAR and FAR, though this is not really a decomposition.
The terms "colour", "bright", "dark" and "smell" are curious omissions, given the inclusion of SEE, TOUCH and HEAR. Are there languages where these are not concepts? Anybody like to take a crack at decomposing these into the primitives? | [reply] [Watch: Dir/Any] |
|
The Yele language of Rossel Island, Papua New Guinea has no word for colour. In fact all the colour terms are derived from physical objects, sometimes by reduplication (doubling the word). For example, the white cockatoo is "kpaap^i", "white" is "kpaap^ikpaap^i".
It has no word for "bright", but you can say "it's light is big".
There is an nice word for "dark", "mg^id^i".
There is a noun "tuu", which means "smell", but no verb. To say "Can you smell it?" you would ask the equivalent of "Is its smell standing?"
| [reply] [Watch: Dir/Any] |
|
|