Did you know ... Search Documentation:
Packs (add-ons) for SWI-Prolog

Package "pljulia"

Title:Embedded Julia for SWI Prolog
Rating:Not rated. Create the first rating!
Latest version:0.1.4
SHA1 sum:c336ba353b3818e747b9316deb5db56f0c288724
Author:Samer Abdallah <samer.abdallah.00@gmail.com>
Download URL:https://github.com/samer--/pljulia.git

Reviews

No reviews. Create the first review!.

Details by download location

VersionSHA1#DownloadsURL
0.0.12141a083e3675381c0d98a6d05b36a97abbc7c5c1https://github.com/samer--/pljulia.git
e73ace9e61a3fdc9516c90a70a4f7e7e004a35d31https://github.com/samer--/pljulia.git
ee47a0e10a5d128a361aee527de25519259963431https://github.com/samer--/pljulia.git
0.0.2543525931be43391906ee5f88d82c792787f5f701https://github.com/samer--/pljulia.git
0.0.34e88ed6b69f7536ab0417335dcb925e62d6f35e01https://github.com/samer--/pljulia.git
8df8bee9f0d7ed4919458c61d590eca6c21be4d41https://github.com/samer--/pljulia.git
0.0.41f4fff7d856b94b17f756214dd2621440e9182261https://github.com/samer--/pljulia.git
569011ca78304fff91552dacdbfa959d548087ab1https://github.com/samer--/pljulia.git
0.0.57178f5102ed27bfd90f89657d64b4afe9cc734c71https://github.com/samer--/pljulia.git
0.0.67dac0da329c082186312d953f9a81242556f44111https://github.com/samer--/pljulia.git
0.1.0cebdc43f222f8c25ee2dfc55dab4954ef628f2291https://github.com/samer--/pljulia.git
0.1.10fc51257f51bda817671a7d6270de5536f30fe541https://github.com/samer--/pljulia.git
3f8f295c860db8aa1566f38f2474ca3981162d1d1https://github.com/samer--/pljulia.git
0.1.3c423615170621d225ad3a41498cf625cc20bf6ea1https://github.com/samer--/pljulia.git
f85a50080bf578478da7388ae62587814151d2541https://github.com/samer--/pljulia.git
0.1.4aaf740c54dfe4f4b3eef09931b3dd266351797603https://github.com/samer--/pljulia.git
c336ba353b3818e747b9316deb5db56f0c2887241https://github.com/samer--/pljulia.git

pljulia

Embedded Julia for SWI Prolog

This module allows Prolog code to use an embedded instance of Julia, a language for numerical and technical computing.

INSTALLATION

Make sure you have installed Julia, and that the julia executable is on your PATH.

Then do

?- pack_install(pljulia).

USAGE

?- use_module(library(julia)).
?- ?cumsum(rand(4,4)).
?- X <? 6*7.
?- "hello world"[1:2:end] ?> X.
?- X <? rand(3,4,5), ?X.
?- X <? #(1,"a",2.2,[1,2,3]).
?- maplist(jl_call("println"), [1,3.14,#("a",2.2,float64([3],[4,5,6]))], _).
?- ?pl_call(:user,:succ,4).

See examples/example.pl for more, including plotting.

TODO

Add jl_map/2, like jl_call/N but mapped over lists.

Generate more informative Prolog exceptions from Julia exceptions

Handle more Julia types directly: more base types? Arrays of more types? BitArray?

Handle more node types in Julia syntax trees.

Consider having jl_array_t structures floating around as Prolog BLOB atoms, assuming they can be protected from Julia's garbage collector. Should be more efficient than converting to/from Prolog lists when dealing with numeric arrays.

Handle more Julia syntax:

; to separate positional args from keyword args
{} for parametric types

Contents of pack "pljulia"

Pack contains 8 files holding a total of 72.8K bytes.