Prolog Development Center has just released version 7.3 of Visual Prolog.
VIP was once known as Borland Turbo Prolog and was one of my favorite tools alongside Borland C++ for OS/2.
PDC Prolog has its counterpart in the Mercury project: a typed Prolog.
So what is new in 7.3? Well, Visual Prolog is getting ready to go 64-bit. That and more are detailed at the 7.3 page.
For a while I thought the Prolog would go behind the scenes at PDC as it did when Air Liquide acquired Prologia in France (the home of Prolog IV as CLP.) Happily PDC now is back to showcasing at least AI and not just smart software applications.
But what will the fate of this Prolog prove to be? In a decade or two, projects such as Oz and Mercury may be in other hands - but a small commercial venture?
In my experience the strength of Visual Prolog was not the IDE or the GUI-building tools but the debugging. And that has been further strengthened in the 7.3 release.
There is a "personal version" available for download and extensive examples come with it.
Prolog is part of the Adobe world in the ILOG arena (an IBM acquisition) and in an age of multi-processor 64-bit hardware, Prolog should come into its own in the RDF processing needs of the semantic web (in which regard, see Logtalk and the XSB project as well as http://www.swi-prolog.org/ for alternatives to PDC.)
A typed-Prolog should present no problem to ActionScript Flex developers at home with a typed ECMAScript variant - and "declarative" MXML UI layout.
Other languages superbly suited to processing text: ObjectIcon, Icon 9.5, Rebol, Oz.
Other Prolog implementations of merit: Eclipse-housed AMZI! Prolog.
For OOP for almost any other Prolog than PDC, see http://www.logtalk.org/
When the ICON language was named, Ralph Griswold could not have suspected that computing would come to have an "iconic" interface. Curl has suffered a similar fate due to haxx.se and cURL. Sadly, XML has a "prolog" and not a "prologue" so without RDF, searching for news on Prolog and XML is vexing. So far, Rebol fares best and Oz much better. As for Mercury and Alice, what's in a name?
http://www.logiquewerks.com/index.html
Showing posts with label XML. Show all posts
Showing posts with label XML. Show all posts
Tuesday, June 29, 2010
Visual Prolog 7.3
Labels:
ActionScript,
CLP,
debug,
declarative,
Flex,
gui,
IDE,
Java,
Javascript,
Logtalk,
MXML,
PROLOG,
Prolog IV,
Prologia,
RDF,
swi-prolog,
UI,
Visual Prolog,
XML,
XSB
Tuesday, May 4, 2010
Hubris and nested markup for text in the humanities
My attention is usually directed to alternative markup for the humanities, specifically poems and their alternative translations as presented on the internet in a web browser.
Consider a simple case: a poem of two stanzas or verses of 6 lines each. The first four lines of verse ONE satisfy some criterion A and the last 4 lines of verse TWO satisfy some criterion C. Lines 5 through 8 satisfy some criterion B. Proceed to markup using HTML, LML, XML or my preferred Curl.
One solution in markup such as Curl which has no "closing tag", e.g.,
In zoology, the existence of the species Lupus canis (wolf) and Lupus latrans (coyote) yields to the fact that wolves and coyotes hybridize in nature. In the northeastern United States the question is what should journalists call these hybrid animals. In the case of common tree species which readily hybridize, the challenge for botany is far greater. Classification always cedes ground to the facts of genetics.
But in the simple case of a mere translation of a difficult two stanza poem from German to English, markup falters. This would not be the case with simple paint programs, where one "markup range" or "marginal note" translates readily into over-lapping graphical figures. Some are less effective than others: think of the reach of A above as red, C as blue and B as some shade of violet. Over-lapping transparent coloured rectangles, if you like. But the "markup" on the page risks being unreadable. Text has been abandoned to graphics. Font triumphs over content, if you will.
The awkward XML solution is
Consider this alternative:
Visiting any major poetry or philosophy web site will reveal that very little is available to compare translations - because the problems of markup are daunting. Arguably philosophy students are more penalized by attempts to markup premises and suppressed premises relevant to an argument when the text is itself a challenge. One example would be the limited efforts of philosopher Jonathon Bennett to make Early Modern philosophy texts more accessible to students.
For an example of from poetry, take the poem by Werfel and the "translation" by Robert Lowell.
The solution which I find frightful is that of "lines" in poetry and "sentences" in philosophy. Here is the two stanza poem as lines:
Consider a simple case: a poem of two stanzas or verses of 6 lines each. The first four lines of verse ONE satisfy some criterion A and the last 4 lines of verse TWO satisfy some criterion C. Lines 5 through 8 satisfy some criterion B. Proceed to markup using HTML, LML, XML or my preferred Curl.
One solution in markup such as Curl which has no "closing tag", e.g.,
{tagrather than
content
}
<tag>might be this:
content
</tag>
{ANote that such a double-brace solution as |{ and |} is not available in Curl. In mathematics, such bracketing would be nonsense. But two stanzas are not two equations.
line 1
line 2
line 3
line 4
|{B line 5
line 6
} || end of A (a comment starts with dbl-bars )
{C
line 7
line 8 |} || end of DOUBLE_BRACED B (a comment only)
line 9
line 10
line 11
line 12
} || end of C comment
In zoology, the existence of the species Lupus canis (wolf) and Lupus latrans (coyote) yields to the fact that wolves and coyotes hybridize in nature. In the northeastern United States the question is what should journalists call these hybrid animals. In the case of common tree species which readily hybridize, the challenge for botany is far greater. Classification always cedes ground to the facts of genetics.
But in the simple case of a mere translation of a difficult two stanza poem from German to English, markup falters. This would not be the case with simple paint programs, where one "markup range" or "marginal note" translates readily into over-lapping graphical figures. Some are less effective than others: think of the reach of A above as red, C as blue and B as some shade of violet. Over-lapping transparent coloured rectangles, if you like. But the "markup" on the page risks being unreadable. Text has been abandoned to graphics. Font triumphs over content, if you will.
The awkward XML solution is
<A>which you may detect above as the overlapping Bold-Italic-Bold of a sentence above. It is awkward because you must now parse with specialized software to extract that of A which satisfied B.
<B>
</A>
<C>
</B>
</C>
Consider this alternative:
<A>
<B>
</B>
</A>
<C>What is now lost is the continuity of B.
<B>
</B>
</C>
Visiting any major poetry or philosophy web site will reveal that very little is available to compare translations - because the problems of markup are daunting. Arguably philosophy students are more penalized by attempts to markup premises and suppressed premises relevant to an argument when the text is itself a challenge. One example would be the limited efforts of philosopher Jonathon Bennett to make Early Modern philosophy texts more accessible to students.
For an example of from poetry, take the poem by Werfel and the "translation" by Robert Lowell.
The solution which I find frightful is that of "lines" in poetry and "sentences" in philosophy. Here is the two stanza poem as lines:
{line num=1,stnza=1,feature="A", line 1 here}for now I have lost the elegant markup
{line num=2,stnza=1,feature="A", line 2 here}
{line num=3,stnza=1,feature="A", line 3 here}
{line num=4,stnza=1,feature="A", line 4 here}
{line num=5,stnza=1,feature="B", line 5 here}
{line num=6,stnza=1,feature="B", line 6 here}
{br}{br}
{line num=7,stnza=2,feature="B", line 7 here}
{line num=8,stnza=2,feature="B", line 8 here}
{line num=9,stnza=2,feature="A", line 9 here}
{line num=10,stnza=2,feature="A", line 10 here}
{line num=11,stnza=2,feature="A", line 11 here}
{line num=12,stnza=2,feature="A", line 12 here}
{stanzain which each stanza had its lines - with or without line markup.
}
{stanza
}
Labels:
Curl,
HTML,
humanities,
literary markup,
literature markup,
LML,
markup,
nesting,
philosophy,
prose poem,
tag,
translation,
XML
Tuesday, August 7, 2007
RIFE-Jumpstart
RIFE is such a terrific example of using continuations in a web application framework that it is too bad if giving it a try has glitches from the get-go.
The RIFE-Jumpstart will use Jetty so you will want to go into the Jetty subfolder and edit the jetty.xml such that the port value is something other than 8080. After that you will reach RIFE as something like
It is annoying that most HTTP frameworks install without politely asking for an alternative to port 8080. OracleXE and SUN Application Server are the latest to do this to me.
There are some good video podcasts on RIFE - one at Google is about an hour long.
If I add some RIFE pages they will be over at eclectic-pencil.com Useful links include rifers.org and a Confluence link on DWR.
The RIFE-Jumpstart will use Jetty so you will want to go into the Jetty subfolder and edit the jetty.xml such that the port value is something other than 8080. After that you will reach RIFE as something like
You simply must confirm that your OS has the JAVA_HOME env variable set to a JDK. I am using RIFE for Java5 so mine set tohttp://localhost:28282
I tried using my own ClassPath tool from LogiqueWerks to get around this by being sure to hit the right tools.jar and javac.exe but I could not escapei:\java5\jdk
class file has wrong version 49.0, should be 48.0when launching from the RIFE-JUMPSTART directory with
ant runThis also means that you must have ant in your path.
It is annoying that most HTTP frameworks install without politely asking for an alternative to port 8080. OracleXE and SUN Application Server are the latest to do this to me.
There are some good video podcasts on RIFE - one at Google is about an hour long.
If I add some RIFE pages they will be over at eclectic-pencil.com Useful links include rifers.org and a Confluence link on DWR.
Subscribe to:
Posts (Atom)