This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/packages/real/README.md

60 lines
1.9 KiB
Markdown
Raw Normal View History

2015-10-13 08:25:49 +01:00
Real
---
Real is a c-based interface for connecting R to Prolog.
YAP introduces a development version of real, developed to experiment
with the internals of the implementation of R. It includes major
changes and is likely to be much less stable than the version
maintained by Nicos ANgelopoulos. We refer to the version herein as
'realC' and describe the main novelties vs the version described
in~\cite{}. Their major differences:
- Most of realC is written in `C`, instead of aa a Prolog string
generator. The `C` code respects the SWI-Prolog fli interface and
should work both in YAP and in SWI-Prolog.
- realC uses Prolog atoms to represent real variables. R sequences
of characters are represented as Prolog strings (not as lists of
character codes). The atoms `true` and `false` indicate boolean
constants.
By default, YAP represents sequences of codes using double
quotes, and strings by back quotes. Please consult the
documentation o the ISO-Prolog flag `double_quotes` if you using
prefer reading double-quote strings as Prolog string.
- Free variables can be used to represent missing
arguments,ie. `a[_,"G23"] would represent the column "G23".
- All recent versions of real support the common syntax extensions
for [], (), thus realC allows writing `a[[2]] <- f().
- YAP allows A.B to be interpreted as [A|B]. This version takes
advantage of this implementation quirk, and allows one to write
expressions such as `a.b[2] <- f.g()`.
- The left-hand side msy be:
+ a ground unary term, assumed to be an attribute
+ an index
+ an R variable
+ a logic variable, or other Prolog term: in this case it will be
unified with the result of evaluating the right-hamd side.
Yap
?- [examples/for_real].
?- for_real.
---
Nicos Angelopoulos and Vitor Santos Costa
December, 2012.
Updates: Nicos Angelopoulos
Dec. 2013,
March, 2014
Updates: Vitor Santos Costa
Dec. 2015