tags:

views:

3294

answers:

11

I need to write some Prolog programs for a class.

Any recommendations?

+9  A: 

Prolog mode for (X)Emacs.

See http://bruda.ca/emacs-prolog/

Marcos Lara
(X)Emacs will probably be worth getting familiar with. (If you're not already)
Touko
Emacs is the best option. X-Emacs is dead AFAIC.
PoorLuzer
+2  A: 

I've not tried it (mostly because I never thought to combine the words "Prolog" and "NetBeans" before now), but there appears to be Prolog support for NetBeans. It's not a simple plugin, but a tutorial that shows how to add Prolog support to NetBeans.

Bill the Lizard
I'd say NetBeans was _way_ overkill for Prolog. I find any old text editor (gedit does okay, but I use a Mac with SubEthaEdit). If you can change a mode so that comments are marked, there isn't really much syntax to highlight!
Matthew Schinckel
If you were already using NetBeans for Java, C++, or Ruby, though, you'd be familiar with it and want to use it for Prolog too.
Bill the Lizard
NB ide doesn't support Prolog. What you refer to is how to create an IDE that supports Prolog based on NB Platform.
simpatico
@simpatico: Thanks, I updated my answer to try and make it more clear that the link goes to a tutorial, not a plugin.
Bill the Lizard
+4  A: 

I just use Vim or jEdit. Prolog as a language doesn't really lend itself to strong IDE support. For one thing, it's dynamically typed, which throws a huge wrench into tooling. For another, it's a logic-based language, which means that the "code flow" (order in which you construct the program) is non-linear. Existing techniques for building highly advanced IDEs just don't apply to that sort of paradigm.

Daniel Spiewak
I don't agree. Prolog is a fundamentally different language that say OO, but that doesn't mean that it doesn't lend itself to strong IDE support. One problem with many languages which cause trouble when doing an IDE is that the existing language implementations do not expose a powerful enough API to access things like the AST and program semantics. Eclipse has a Java compiler explicitly designed to interact with an IDE which makes it much easier to do things like advanced refactoring.
JesperE
+3  A: 

A good point to start is to use Emacs' default Prolog mode plus the additions described here. You can also try ediprolog, which aims for a tighter Emacs-Prolog integration.

Ryszard Szopa
A: 

You could use Gprolog, we use that in our class. Use consult('filename') to load the database.

Javed Ahamed
+5  A: 

SWI-Prolog comes with excellent IDE tools, an Emacs-clone text editor, interactive debugger, complete browseable help system and docs. Give it a try.

ThomasH
+4  A: 

As mentioned you can use SWI-Prolog. If you like Eclipse there is an Eclipse plug-in that integrates SWI-Prolog into Eclipse. This way you have the best of both worlds, for example the SVN etc functions of Eclipse and the graphic debugger of SWI-Prolog. Worth checking out.

http://sewiki.iai.uni-bonn.de/research/pdt/start

BernardMarx
A: 

Honestly, I can't see an 'IDE' helping out much on prolog. It'll only aid in finding syntax errors. The rest is in the debugging and the thought process.

Get syntax-highlighting with any editor and you're set to go.

Shurane
A: 

Visual Prolog (works with wine).

Ville Laitila
+1  A: 

Hi!

Prolog Development Tools (ProDT) is a Prolog Integrated Development Environment (IDE) aiming to be as rich in functionality as the Eclipse's java IDE, giving the developer a single environment where it can control the development of a Prolog project from code edition, test execution, etc...

This project stands on top of Eclipse's projects to take advantage of its already existent features and its extensibility and works on any environment Eclipse works including windows, linux and mac OSX.

It support as underlying interpreters: SWI-prolog, XSB prolog, B-prolog

The site has more information about the project including installation and features list: http://prodevtools.sourceforge.net/

Hope you can find it useful!!! :)

Metal Fan
A: 

SPIDER is a Eclipse-based IDE for SICStus Prolog. SICStus Prolog also has a very useful Emacs mode.

JesperE