trismegiste / prolog
Warren Abstract Machine for symfony2
Installs: 27
Dependents: 0
Suggesters: 0
Security: 0
Stars: 25
Watchers: 5
Forks: 4
Open Issues: 0
Language:JavaScript
Type:symfony-bundle
Requires
- php: >=5.4.3
- trismegiste/wam-prolog: dev-master
Requires (Dev)
- symfony/console: 2.3.*
- symfony/symfony: 2.3.*
This package is not auto-updated.
Last update: 2024-11-15 10:29:05 UTC
README
A Warren's Abstract Machine for Symfony 2.3
Original java version by Stefan Büttcher.
PHP port, PhpUnit tests and bundle for Symfony2.3 by Florent Genette.
Version 1.5
What ?
A Warren Abstract Machine (WAM) is a virtual machine (like a JVM for Java) for Prolog. This library is intended to run on PHP 5.4 and preferably on Symfony 2.3. Prolog is a logic language which solve problems with an inference engine.
This bundle uses my standalone prolog library trismegiste/wam-prolog
Install
$ composer.phar require trismegiste/prolog dev-master
CLI with symfony 2.3
Open a command line interface and type :
php app/console wam:prolog:console
Service for symfony 2.3
You can read PrologGuiController.php. Here is an example :
$machine = $this->get('prolog.wam'); $compiler = new Prolog\PrologCompiler($machine); $code = $compiler->compile($prog); $machine->addProgram($code); $result = $machine->runQuery($query);
Licence
This work is provided with the Creative Commons Attribution Share Alike 3.0 Licence. It means you must keep my name and must provide any derivative works with this licence. You can make money with this as long as you follow these rules. In other words :
licence(wam_bundle, cc_by_sa_3).
derivate_work_from(your_work, wam_bundle).
licence(X, L) :- derivate_work_from(X, Y), licence(Y, L).
price(wam_bundle, 0).
price(your_work, _).
Contributors
- Lead : Trismegiste
Special thanks
- Johann Sebastian Bach
- William Gibson
- Gene Roddenberry