Mark Thom
b0234fa8b7
add bimetatrans README
2020-07-09 20:53:13 -06:00
notoria
bf13700a95
Enhanced the implementation
...
The restriction has been removed by using read_library_path from
cfd15f4e02 .
2020-07-01 13:14:12 +02:00
notoria
83268f5ff6
Allowing paths in use_module(library(..)) ( #604 )
...
In a module, the path is restricted in being an atom.
2020-07-01 10:22:17 +02:00
notoria
1eb42654e0
Revert "allow paths in use_module(library(..)) ( #604 )"
...
This reverts commit cfd15f4e02 .
2020-07-01 10:07:26 +02:00
notoria
e05c34d1ee
Revert "build.rs recursively delves into directories during library bake stage, correct misnamed file at machine/mod.rs:455 ( #617 )"
...
This reverts commit c1b577f2c7 .
2020-07-01 10:06:20 +02:00
Mark Thom
8325bb11e2
Merge pull request #606 from triska/files
...
ADDED: library(files), for reasoning about files and directories.
2020-06-30 13:34:39 -03:00
Mark Thom
c1b577f2c7
build.rs recursively delves into directories during library bake stage, correct misnamed file at machine/mod.rs:455 ( #617 )
2020-06-29 00:58:10 -06:00
Cyrille Duret
e2c61485a1
add csv library
2020-06-25 21:13:29 +02:00
Markus Triska
65f200e02c
directory_files/2: throw representation error if into_string() fails
...
Suggested by @notoria in #606 . Many thanks!
2020-06-24 23:30:40 +02:00
Markus Triska
aa9432e24f
comment on indexing, addressing a comment by @pmoura in #606
...
If indexing is needed for lists of characters, it should be added to
the engine.
2020-06-24 22:29:34 +02:00
Markus Triska
30d1585468
ADDED: library(files), for reasoning about files and directories.
2020-06-24 22:29:34 +02:00
Markus Triska
bcd6d4e8a7
library(format) is not used in this example
2020-06-21 09:46:05 +02:00
Markus Triska
32eb896c56
ADDED: load_xml/3 to load XML files from streams, files and strings.
2020-06-21 09:45:37 +02:00
Markus Triska
b3c9fb2fea
import member/2 from library(lists)
...
This is needed when processing redirects.
2020-06-20 19:07:43 +02:00
Markus Triska
d66ea07ba4
ADDED: library(xpath) for convenient analysis of HTML and XML documents.
2020-06-20 18:08:11 +02:00
Mark Thom
496279c92d
Merge pull request #596 from triska/sgml
...
ADDED: library(sgml), providing load_html/3 to parse HTML documents
2020-06-19 12:59:06 -03:00
notoria
94eddd3b42
Added library(debug)
2020-06-19 17:18:59 +02:00
Markus Triska
79829cb6d2
ADDED: library(sgml), providing load_html/3 to parse HTML documents
2020-06-19 16:40:01 +02:00
Mark Thom
0d20ca0bf2
Merge pull request #592 from triska/http_open
...
ADDED: library(http/http_open), opening HTTP and HTTPS streams for reading
2020-06-19 11:30:23 -03:00
Mark Thom
3ede5ea28f
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-06-19 00:58:43 -06:00
Mark Thom
cfd15f4e02
allow paths in use_module(library(..)) ( #604 )
2020-06-19 00:57:56 -06:00
Mark Thom
1f9ff2dd88
clarify meaning of AssertItems and QueryItems in BiMetaTrans source-level documentation
2020-06-18 23:47:54 -06:00
Markus Triska
5eda2dfe0e
put_char/[1,2]: throw type errors for atoms that are not characters
...
Example:
?- put_char(hello).
%@ caught: error(type_error(character,hello),put_char/2)
2020-06-18 00:15:00 +02:00
Mark Thom
1509c6a471
Merge pull request #597 from triska/faster_format
...
ENHANCED: much faster format/3 for text streams
2020-06-17 18:48:49 -03:00
Markus Triska
19acd608a5
ADDED: library(http/http_open), opening HTTP and HTTPS streams for reading
...
Example:
?- http_open("https://github.com/mthom/scryer-prolog ", Stream, []),
length(Ls, 10),
maplist(get_char(Stream), Ls).
Yielding:
%@ Stream = '$stream'(0x7fba4c59ef10), Ls = "\n\n\n\n\n<!DOC"
%@ ; false.
2020-06-17 20:10:22 +02:00
Mark Thom
bc81ff28d8
cover Addr::Fixnum when not referenced as an Addr::Con, undefine dynamic predicate definitions from within modules too ( #588 )
2020-06-16 19:03:07 -06:00
Mark Thom
ba867e95c3
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-06-16 18:47:53 -06:00
Mark Thom
53f99ca434
fix copy_partial_string bug ( #572 )
2020-06-16 18:47:39 -06:00
Markus Triska
8958ea036e
ENHANCED: much faster format/3 for text streams
...
This is now also used by format/2 to emit output on the terminal,
and significantly speeds up toplevel output of long strings.
2020-06-16 21:13:03 +02:00
Mark Thom
d3563c30e7
Merge pull request #590 from triska/read_line_to_chars
...
ADDED: read_line_to_chars/3, reading up to and including "\n" from a stream
2020-06-16 00:06:01 -03:00
Mark Thom
0f017339b7
change the plurality of AssertItem(s), QueryItem(s) in bimetatrans.pl
2020-06-15 16:38:27 -06:00
Markus Triska
10a0f708b9
use format/3 to benefit from efficiency improvements
2020-06-14 10:51:24 +02:00
Markus Triska
409d3c168d
ENHANCED: faster format/3 when writing to binary streams
...
This is also more secure, since it does not change the atom table
and therefore leaves little trace of what was processed.
2020-06-14 10:43:25 +02:00
Mark Thom
005220b6d4
Merge pull request #589 from triska/lazy_pio
...
ENHANCED: Read more characters at once, significantly speeding up library(pio)
2020-06-13 21:09:19 -03:00
Markus Triska
f910e013a6
use take() for extra fast processing of binary files
...
Suggested by @notoria in #589 . Many thanks!
2020-06-13 16:47:46 +02:00
Markus Triska
5f1b03261c
better naming: str --> string
...
Suggested by @notoria in #589 . Many thanks!
2020-06-13 16:47:46 +02:00
Markus Triska
44ebd894d5
ADDED: portray_clause/2, writing to a specified stream.
2020-06-13 16:45:47 +02:00
Markus Triska
b85ff7db36
ENHANCED: Read more characters at once, significantly speeding up library(pio).
2020-06-13 16:25:41 +02:00
Markus Triska
22fd216de5
ADDED: read_line_to_chars/3, reading up to and including "\n" from a stream, yielding a list difference.
...
This works for both binary and text streams.
2020-06-13 09:14:44 +02:00
Mark Thom
2f02c428cc
rename bimetatrans example files and directory
2020-06-12 18:32:48 -06:00
Mark Thom
1732413ee1
Merge branch 'master' of https://github.com/mthom/rusty-wam
2020-06-12 18:28:07 -06:00
Mark Thom
33325f1574
remove vestigial prolog/ directory ( #444 )
2020-06-12 18:26:38 -06:00
Mark Thom
4f288c6fd9
Merge pull request #587 from triska/lazy_pio
...
ENHANCED: phrase_from_file/[2,3] now read the file lazily.
2020-06-12 11:24:52 -03:00
Mark Thom
5ffb4597b3
add missing ! in int_pow ( #580 )
2020-06-11 22:28:05 -06:00
Mark Thom
d9de38b935
adjust the tail created by CreatePartialString to point to the last cell it pushed to the heap ( #586 )
2020-06-11 21:25:20 -06:00
Markus Triska
40c3e31955
ENHANCED: phrase_from_file/[2,3] now read the file lazily.
...
This allows processing extremely large files. In addition, the
efficient string representation helps to reduce memory usage.
These features unleash the full power of Prolog for text processing,
the exact use case Prolog was designed for.
2020-06-12 00:02:41 +02:00
Mark Thom
f84c831cda
remove most cuts from bimetatrans_ruleml.pl
2020-06-11 12:22:35 -06:00
Mark Thom
904cf97f7d
fix printing of atoms like '.x' ( #585 )
2020-06-11 11:11:04 -06:00
Mark Thom
791e22dc24
eliminate unnecessary find_min_time_ predicate in least_time.pl example
2020-06-10 22:25:23 -06:00
Markus Triska
2fc887724b
ADDED: format_time//2 for describing strings involving dates and times
...
current_time/1 yields the current system time as an opaque time stamp.
2020-06-11 00:55:38 +02:00