]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
5 years agorefer to new tools directory
Markus Triska [Sat, 3 Oct 2020 07:59:31 +0000 (09:59 +0200)]
refer to new tools directory

5 years agoADDED: showterm.el and showterm.pl to draw terms as trees in Emacs
Markus Triska [Sat, 3 Oct 2020 07:52:46 +0000 (09:52 +0200)]
ADDED: showterm.el and showterm.pl to draw terms as trees in Emacs

5 years agoMerge pull request #700 from triska/development_environment
Mark Thom [Thu, 1 Oct 2020 19:41:52 +0000 (13:41 -0600)]
Merge pull request #700 from triska/development_environment

DOC: Development environment recommendations.

5 years agoDOC: Development environment recommendations.
Markus Triska [Thu, 1 Oct 2020 19:15:40 +0000 (21:15 +0200)]
DOC: Development environment recommendations.

5 years agoMerge pull request #698 from triska/file_must_exist
Mark Thom [Sun, 13 Sep 2020 16:30:50 +0000 (10:30 -0600)]
Merge pull request #698 from triska/file_must_exist

ENHANCED: library(files): Error handling if requested files do not exist.

5 years agoENHANCED: library(files): Error handling if requested files do not exist.
Markus Triska [Sun, 13 Sep 2020 08:21:57 +0000 (10:21 +0200)]
ENHANCED: library(files): Error handling if requested files do not exist.

We now throw exceptions instead of failing silently, or even crashing
when using file_size/2 etc. with nonexistent files.

5 years agorefactor SystemClauseType::Open in anticipation of #614
Mark Thom [Sun, 6 Sep 2020 00:57:03 +0000 (18:57 -0600)]
refactor SystemClauseType::Open in anticipation of #614

5 years agopreface the 'spelling error' with an explainer comment (#687)
Mark Thom [Sun, 6 Sep 2020 00:07:58 +0000 (18:07 -0600)]
preface the 'spelling error' with an explainer comment (#687)

5 years agoMerge pull request #696 from triska/format_distinct_variables
Mark Thom [Sat, 5 Sep 2020 14:50:07 +0000 (08:50 -0600)]
Merge pull request #696 from triska/format_distinct_variables

FIXED: format_//2: Keep different variables distinct.

5 years agoFIXED: format_//2: Keep different variables distinct.
Markus Triska [Sat, 5 Sep 2020 07:56:32 +0000 (09:56 +0200)]
FIXED: format_//2: Keep different variables distinct.

Example:

        ?- phrase(format_("~w~w", [_,_]), Ls).
        %@    Ls = "AB"
        %@ ;  false.

5 years agoMerge pull request #694 from triska/write_all
Mark Thom [Wed, 2 Sep 2020 18:52:53 +0000 (12:52 -0600)]
Merge pull request #694 from triska/write_all

FIXED: reliably write all characters when using format/3

5 years agoFIXED: reliably write all characters when using format/3
Markus Triska [Wed, 2 Sep 2020 17:20:49 +0000 (19:20 +0200)]
FIXED: reliably write all characters when using format/3

This addresses #693.

Many thanks to @notoria for a brilliant test case, and the
suggestion of this correction!

5 years agoMerge pull request #689 from matteoredaelli/patch-1
Mark Thom [Tue, 25 Aug 2020 15:27:13 +0000 (12:27 -0300)]
Merge pull request #689 from matteoredaelli/patch-1

Update README.md

5 years agoUpdate README.md
Matteo Redaelli [Tue, 25 Aug 2020 15:19:45 +0000 (17:19 +0200)]
Update README.md

wrong link to source file dcgs.pl

5 years agoMerge pull request #686 from triska/call_nth
Mark Thom [Mon, 24 Aug 2020 19:07:40 +0000 (16:07 -0300)]
Merge pull request #686 from triska/call_nth

ADDED: Preliminary version of call_nth/2.

5 years agoADDED: First version of call_nth/2.
Markus Triska [Sun, 23 Aug 2020 20:13:11 +0000 (22:13 +0200)]
ADDED: First version of call_nth/2.

A thread-safe implementation is possible for example with
'$nb_setarg'/3 (see #390).

5 years agoflatten passage of cut point B in (,)/2, (->)/2 and (;)/2 (#685, #683)
Mark Thom [Mon, 24 Aug 2020 01:49:10 +0000 (22:49 -0300)]
flatten passage of cut point B in (,)/2, (->)/2 and (;)/2 (#685, #683)

5 years agoMerge pull request #682 from triska/dif_improvements
Mark Thom [Sat, 22 Aug 2020 23:17:32 +0000 (20:17 -0300)]
Merge pull request #682 from triska/dif_improvements

Improvements to dif/2

5 years agodif/2: Omit entailed residual goals, if the arguments are not unifiable.
Markus Triska [Sat, 22 Aug 2020 15:49:02 +0000 (17:49 +0200)]
dif/2: Omit entailed residual goals, if the arguments are not unifiable.

This addresses #135.

5 years agodif/2: Succeed unconditionally if the arguments are not unifiable.
Markus Triska [Sat, 22 Aug 2020 15:47:42 +0000 (17:47 +0200)]
dif/2: Succeed unconditionally if the arguments are not unifiable.

This addresses one part of #135.

5 years agoMerge pull request #677 from notoria/clpz_mod
Mark Thom [Sat, 15 Aug 2020 16:55:48 +0000 (13:55 -0300)]
Merge pull request #677 from notoria/clpz_mod

Made mod stronger and addressed #675

5 years agoUse nonterminal fd_put//3 in mod from clpz
notoria [Sat, 15 Aug 2020 15:56:07 +0000 (17:56 +0200)]
Use nonterminal fd_put//3 in mod from clpz

5 years agoSimplified the code
notoria [Sat, 15 Aug 2020 15:39:34 +0000 (17:39 +0200)]
Simplified the code

5 years agoUsing queue_goal//1 to correctly bind variables
notoria [Sat, 15 Aug 2020 15:06:12 +0000 (17:06 +0200)]
Using queue_goal//1 to correctly bind variables

5 years agoFixed variable bindings in mod from clpz
notoria [Sat, 15 Aug 2020 11:37:33 +0000 (13:37 +0200)]
Fixed variable bindings in mod from clpz

5 years agoMade mod stronger and addressed #675
notoria [Sat, 15 Aug 2020 10:45:33 +0000 (12:45 +0200)]
Made mod stronger and addressed #675

5 years agoMerge pull request #674 from notoria/clpz_mod
Mark Thom [Fri, 14 Aug 2020 03:21:19 +0000 (00:21 -0300)]
Merge pull request #674 from notoria/clpz_mod

Improved mod in clpz

5 years agoMore improvement on mod from CLP(Z)
notoria [Thu, 13 Aug 2020 08:38:57 +0000 (10:38 +0200)]
More improvement on mod from CLP(Z)

5 years agoImproved mod in CLP(Z)
notoria [Mon, 10 Aug 2020 19:00:54 +0000 (21:00 +0200)]
Improved mod in CLP(Z)

This is still a work in progress.

5 years agoMerge pull request #671 from triska/clpb_restriction
Mark Thom [Wed, 12 Aug 2020 19:59:51 +0000 (16:59 -0300)]
Merge pull request #671 from triska/clpb_restriction

FIXED: CLP(B): Delay BDD restriction until after the instantiation.

5 years agoFIXED: CLP(B): Delay BDD restriction until after the instantiation.
Markus Triska [Wed, 12 Aug 2020 17:51:25 +0000 (19:51 +0200)]
FIXED: CLP(B): Delay BDD restriction until after the instantiation.

This is necessary to actually take the new value into account.

Example:

    ?- sat(A*B>=C*D), A=1,B=0,C=1,D=1.
    false.

This addresses #670.

5 years agoMerge pull request #668 from triska/xbrl
Mark Thom [Tue, 11 Aug 2020 22:53:02 +0000 (19:53 -0300)]
Merge pull request #668 from triska/xbrl

library(sgml): Correctly parse XML leaf nodes that are not text nodes.

5 years agolibrary(sgml): Correctly parse XML leaf nodes that are not text nodes.
Markus Triska [Tue, 11 Aug 2020 19:00:56 +0000 (21:00 +0200)]
library(sgml): Correctly parse XML leaf nodes that are not text nodes.

Example:

    ?- load_xml("<schemaRef type=\"simple\"/>", Node, []).
       Node = [element(schemaRef,[type="simple"],[])].

This is necessary for example to parse XBRL files. See #665.

5 years agoMerge pull request #667 from triska/clpb_taut
Mark Thom [Tue, 11 Aug 2020 18:54:34 +0000 (15:54 -0300)]
Merge pull request #667 from triska/clpb_taut

omit internal attributes in residual goals when using taut/2

5 years agoomit internal attributes in residual goals when using taut/2
Markus Triska [Tue, 11 Aug 2020 18:48:37 +0000 (20:48 +0200)]
omit internal attributes in residual goals when using taut/2

Examples:

    ?- taut(X=:=X,1).
       clpb:sat(X=:=X)
    ;  false.

    ?- taut(X=\=X,0).
       clpb:sat(X=:=X)
    ;  false.

5 years agoupdate prolog_parser version (#657)
Mark Thom [Sat, 8 Aug 2020 22:29:35 +0000 (16:29 -0600)]
update prolog_parser version (#657)

5 years agoMerge branch 'master' of https://github.com/mthom/scryer-prolog
Mark Thom [Sat, 8 Aug 2020 19:12:09 +0000 (13:12 -0600)]
Merge branch 'master' of https://github.com/mthom/scryer-prolog

5 years agofix bugs in PausedPrologStream (#661)
Mark Thom [Sat, 8 Aug 2020 19:11:09 +0000 (13:11 -0600)]
fix bugs in PausedPrologStream (#661)

5 years agoMerge pull request #656 from notoria/try_from_number
Mark Thom [Sat, 8 Aug 2020 15:24:29 +0000 (12:24 -0300)]
Merge pull request #656 from notoria/try_from_number

Fixed some conversion issues

5 years agoMerge pull request #660 from triska/shorter_crypto
Mark Thom [Sat, 8 Aug 2020 15:23:40 +0000 (12:23 -0300)]
Merge pull request #660 from triska/shorter_crypto

Shorten and improve implementation of several cryptographic routines

5 years agoensure proper lengths of key and initialization vector
Markus Triska [Thu, 6 Aug 2020 21:27:49 +0000 (23:27 +0200)]
ensure proper lengths of key and initialization vector

This avoids crashes when using unsuitable lengths.

5 years agoremove entailed constraint
Markus Triska [Thu, 6 Aug 2020 21:17:08 +0000 (23:17 +0200)]
remove entailed constraint

5 years agouse self.deref(...) (see #653)
Markus Triska [Thu, 6 Aug 2020 18:12:57 +0000 (20:12 +0200)]
use self.deref(...) (see #653)

5 years agouse atom_argument_to_string
Markus Triska [Thu, 6 Aug 2020 18:12:23 +0000 (20:12 +0200)]
use atom_argument_to_string

5 years agoFixed some conversion issues
notoria [Thu, 6 Aug 2020 09:39:55 +0000 (11:39 +0200)]
Fixed some conversion issues

5 years agofix crash in CryptoPasswordHash (#653), conversion of Rational integers in number_cha...
Mark Thom [Thu, 6 Aug 2020 06:17:55 +0000 (00:17 -0600)]
fix crash in CryptoPasswordHash (#653), conversion of Rational integers in number_chars/2 (#655)

5 years agoMerge pull request #654 from triska/aad
Mark Thom [Thu, 6 Aug 2020 05:40:51 +0000 (02:40 -0300)]
Merge pull request #654 from triska/aad

ADDED: library(crypto): Support for additional authenticated data (AAD).

5 years agoshorten, and increase readability
Markus Triska [Wed, 5 Aug 2020 18:31:56 +0000 (20:31 +0200)]
shorten, and increase readability

5 years agouse "octet" as a string literal, reducing the number of arguments
Markus Triska [Wed, 5 Aug 2020 18:10:58 +0000 (20:10 +0200)]
use "octet" as a string literal, reducing the number of arguments

5 years agoADDED: library(crypto): Support for additional authenticated data (AAD).
Markus Triska [Wed, 5 Aug 2020 18:09:07 +0000 (20:09 +0200)]
ADDED: library(crypto): Support for additional authenticated data (AAD).

Additional authenticated data can now be specified with the new
aad(Chars) option for encryption and decryption. It is authenticated,
but not encrypted.

5 years agoupdate prolog_parser to 0.8.67 (#648)
Mark Thom [Wed, 5 Aug 2020 05:35:10 +0000 (23:35 -0600)]
update prolog_parser to 0.8.67 (#648)

5 years agounify '[]' with proper [] in atom_chars/2 (#569)
Mark Thom [Tue, 4 Aug 2020 01:29:53 +0000 (19:29 -0600)]
unify '[]' with proper [] in atom_chars/2 (#569)

5 years agoreconcile '[]' and [] (#644), solve remaining conformity issues (#648), move (--...
Mark Thom [Mon, 3 Aug 2020 05:35:53 +0000 (23:35 -0600)]
reconcile '[]' and [] (#644), solve remaining conformity issues (#648), move (-->) from dcgs.pl to builtins.pl (#649)

5 years agoMerge pull request #647 from notoria/newline
Mark Thom [Fri, 31 Jul 2020 21:19:12 +0000 (18:19 -0300)]
Merge pull request #647 from notoria/newline

Improved readline

5 years agoImproved readline
notoria [Fri, 31 Jul 2020 16:12:38 +0000 (18:12 +0200)]
Improved readline

5 years agoMerge pull request #645 from triska/curve25519
Mark Thom [Thu, 30 Jul 2020 13:29:20 +0000 (10:29 -0300)]
Merge pull request #645 from triska/curve25519

ADDED: library(crypto): ECDH key exchange over Curve25519 (X25519)

5 years agoADDED: library(crypto): ECDH key exchange over Curve25519 (X25519)
Markus Triska [Wed, 29 Jul 2020 21:14:16 +0000 (23:14 +0200)]
ADDED: library(crypto): ECDH key exchange over Curve25519 (X25519)

5 years agothe indexer now categorizes partial strings only as lists (#623, #642)
Mark Thom [Mon, 27 Jul 2020 22:43:43 +0000 (16:43 -0600)]
the indexer now categorizes partial strings only as lists (#623, #642)

5 years agoMerge pull request #639 from triska/flush_output
Mark Thom [Sat, 25 Jul 2020 16:20:45 +0000 (13:20 -0300)]
Merge pull request #639 from triska/flush_output

ENHANCED: flush output for impure I/O (format/[2,3], portray_clause/1 etc.)

5 years agoENHANCED: flush output for impure I/O (format/[2,3], portray_clause/1 etc.)
Markus Triska [Sat, 25 Jul 2020 07:47:59 +0000 (09:47 +0200)]
ENHANCED: flush output for impure I/O (format/[2,3], portray_clause/1 etc.)

Without this, we do not get a (timely) prompt in cases like:

    ?- format("press a key: ", []), get_single_char(C).

whereas for example write/1 already works in such cases:

    ?- write('press a key: '), get_single_char(C).
    press a key:

5 years agoMerge pull request #638 from triska/base64
Mark Thom [Thu, 23 Jul 2020 22:49:12 +0000 (19:49 -0300)]
Merge pull request #638 from triska/base64

ADDED: chars_base64/3 for efficient bidirectional Base64 conversion.

5 years agothrow an error if a character cannot be encoded
Markus Triska [Wed, 22 Jul 2020 22:35:23 +0000 (00:35 +0200)]
throw an error if a character cannot be encoded

5 years agobetter error handling for options
Markus Triska [Wed, 22 Jul 2020 22:27:31 +0000 (00:27 +0200)]
better error handling for options

5 years agouse newly available chars_base64/3
Markus Triska [Wed, 22 Jul 2020 18:19:56 +0000 (20:19 +0200)]
use newly available chars_base64/3

5 years agoADDED: chars_base64/3 for efficient bidirectional Base64 conversion.
Markus Triska [Wed, 22 Jul 2020 18:17:46 +0000 (20:17 +0200)]
ADDED: chars_base64/3 for efficient bidirectional Base64 conversion.

5 years agoMerge pull request #636 from triska/path_segments
Mark Thom [Sun, 19 Jul 2020 16:16:27 +0000 (13:16 -0300)]
Merge pull request #636 from triska/path_segments

ADDED: path_segments/2 for portable reasoning about path components.

5 years agoADDED: path_segments/2 for portable reasoning about path components.
Markus Triska [Sun, 19 Jul 2020 09:07:03 +0000 (11:07 +0200)]
ADDED: path_segments/2 for portable reasoning about path components.

The platform-specific directory separator is taken into account.
The clean representation of segments as a list simplifies reasoning.

5 years agoMerge pull request #633 from triska/file_time
Mark Thom [Sat, 18 Jul 2020 15:40:53 +0000 (12:40 -0300)]
Merge pull request #633 from triska/file_time

ADDED: file_creation_time/2 and file_access_time/2.

5 years agoMerge pull request #631 from cduret/lib_csv
Mark Thom [Sat, 18 Jul 2020 15:40:28 +0000 (12:40 -0300)]
Merge pull request #631 from cduret/lib_csv

add write_csv & change skip_header to with_header option

5 years agoMerge pull request #635 from triska/more_links
Mark Thom [Sat, 18 Jul 2020 15:40:09 +0000 (12:40 -0300)]
Merge pull request #635 from triska/more_links

DOC: add more links to libraries, and include iso_ext in the enumeration

5 years agoDOC: add more links to libraries, and include iso_ext in the enumeration
Markus Triska [Sat, 18 Jul 2020 06:09:52 +0000 (08:09 +0200)]
DOC: add more links to libraries, and include iso_ext in the enumeration

5 years agolook up operator precedence when arity does not match what the atom records, don...
Mark Thom [Fri, 17 Jul 2020 17:02:58 +0000 (11:02 -0600)]
look up operator precedence when arity does not match what the atom records, don't print brackets around outermost '+' (#629)

5 years agoADDED: file_creation_time/2 and file_access_time/2.
Markus Triska [Fri, 17 Jul 2020 16:48:39 +0000 (18:48 +0200)]
ADDED: file_creation_time/2 and file_access_time/2.

The code can be simplified once if- and while-let-chains are available:

    https://github.com/rust-lang/rust/issues/53667

5 years agoMerge pull request #632 from triska/path_canonical
Mark Thom [Fri, 17 Jul 2020 00:03:13 +0000 (21:03 -0300)]
Merge pull request #632 from triska/path_canonical

ADDED: path_canonical/2, obtaining the canonical absolute path.

5 years agoset domain_error exception & use format/3 with setup_call_cleanup/3 for stream writing
Cyrille Duret [Thu, 16 Jul 2020 23:21:40 +0000 (01:21 +0200)]
set domain_error exception & use format/3 with setup_call_cleanup/3 for stream writing

5 years agoENHANCED: Reorder fields in time stamps so that (@<)/2 is meaningful.
Markus Triska [Thu, 16 Jul 2020 21:33:52 +0000 (23:33 +0200)]
ENHANCED: Reorder fields in time stamps so that (@<)/2 is meaningful.

5 years agoADDED: file_modification_time/2, obtaining a time stamp.
Markus Triska [Thu, 16 Jul 2020 20:56:10 +0000 (22:56 +0200)]
ADDED: file_modification_time/2, obtaining a time stamp.

This addresses a remaining aspect of #511.

5 years agoADDED: path_canonical/2, obtaining the canonical absolute path.
Markus Triska [Wed, 15 Jul 2020 18:24:26 +0000 (20:24 +0200)]
ADDED: path_canonical/2, obtaining the canonical absolute path.

This addresses a remaining aspect of #511.

5 years agoset throw() to follow ISO recommendations
Cyrille Duret [Wed, 15 Jul 2020 16:26:57 +0000 (18:26 +0200)]
set throw() to follow ISO recommendations

5 years agoadd write_csv & change skip_header to with_header option
794404 [Wed, 15 Jul 2020 11:02:30 +0000 (13:02 +0200)]
add write_csv & change skip_header to with_header option

5 years agoMerge pull request #630 from triska/delete_file
Mark Thom [Tue, 14 Jul 2020 23:26:51 +0000 (20:26 -0300)]
Merge pull request #630 from triska/delete_file

ADDED: delete_file/1, addressing a remaining aspect of #511

5 years agoADDED: working_directory/2, addressing a remaining aspect of #511
Markus Triska [Tue, 14 Jul 2020 20:37:05 +0000 (22:37 +0200)]
ADDED: working_directory/2, addressing a remaining aspect of #511

5 years agoADDED: delete_file/1, addressing a remaining aspect of #511
Markus Triska [Tue, 14 Jul 2020 20:16:15 +0000 (22:16 +0200)]
ADDED: delete_file/1, addressing a remaining aspect of #511

5 years agoMerge pull request #626 from triska/compact_crypto
Mark Thom [Sun, 12 Jul 2020 15:17:58 +0000 (12:17 -0300)]
Merge pull request #626 from triska/compact_crypto

ENHANCED: library(crypto): Retain the compact representation of strings.

5 years agomention symmetric encryption and ChaCha20-Poly1305
Markus Triska [Sun, 12 Jul 2020 09:58:39 +0000 (11:58 +0200)]
mention symmetric encryption and ChaCha20-Poly1305

5 years agoENHANCED: library(crypto): Retain the compact representation of strings.
Markus Triska [Sun, 12 Jul 2020 08:07:56 +0000 (10:07 +0200)]
ENHANCED: library(crypto): Retain the compact representation of strings.

This avoids the costly (in terms of space requirements!) conversion of
compact lists of characters to lists of integers, making hashing, HKDF,
encryption, decryption, signing and signature verification an order of
magnitude more efficient (primarily in terms of space, also in time).

This makes library(crypto) suitable to process also very large files.

5 years agoMerge pull request #625 from triska/os
Mark Thom [Sun, 12 Jul 2020 02:50:01 +0000 (23:50 -0300)]
Merge pull request #625 from triska/os

ADDED: library(os), reasoning about environment variables.

5 years agouse newly available character type in must_be/2
Markus Triska [Sat, 11 Jul 2020 17:52:01 +0000 (19:52 +0200)]
use newly available character type in must_be/2

5 years agoADDED: library(os), reasoning about environment variables.
Markus Triska [Sat, 11 Jul 2020 16:41:18 +0000 (18:41 +0200)]
ADDED: library(os), reasoning about environment variables.

Together with library(files), this addresses #511.

5 years agoslight update to the BiMetaTrans README
Mark Thom [Fri, 10 Jul 2020 21:22:15 +0000 (15:22 -0600)]
slight update to the BiMetaTrans README

5 years agoupdate bimetatrans tests
Mark Thom [Fri, 10 Jul 2020 16:26:48 +0000 (10:26 -0600)]
update bimetatrans tests

5 years agoadd bimetatrans README
Mark Thom [Fri, 10 Jul 2020 02:53:13 +0000 (20:53 -0600)]
add bimetatrans README

5 years agoMerge pull request #621 from notoria/tabling
Mark Thom [Fri, 3 Jul 2020 17:40:52 +0000 (14:40 -0300)]
Merge pull request #621 from notoria/tabling

Tabling

5 years agoEnhanced the implementation
notoria [Wed, 1 Jul 2020 11:14:12 +0000 (13:14 +0200)]
Enhanced the implementation

The restriction has been removed by using read_library_path from
cfd15f4e027b4df216e723bbd35facac28a09a1c.

5 years agoAllowing paths in use_module(library(..)) (#604)
notoria [Wed, 1 Jul 2020 08:22:17 +0000 (10:22 +0200)]
Allowing paths in use_module(library(..)) (#604)

In a module, the path is restricted in being an atom.

5 years agoRevert "allow paths in use_module(library(..)) (#604)"
notoria [Wed, 1 Jul 2020 08:07:26 +0000 (10:07 +0200)]
Revert "allow paths in use_module(library(..)) (#604)"

This reverts commit cfd15f4e027b4df216e723bbd35facac28a09a1c.

5 years agoRevert "build.rs recursively delves into directories during library bake stage, corre...
notoria [Wed, 1 Jul 2020 08:06:20 +0000 (10:06 +0200)]
Revert "build.rs recursively delves into directories during library bake stage, correct misnamed file at machine/mod.rs:455 (#617)"

This reverts commit c1b577f2c7a148b13c1692ab8ac741aa57b0ac43.

5 years agoMerge pull request #606 from triska/files
Mark Thom [Tue, 30 Jun 2020 16:34:39 +0000 (13:34 -0300)]
Merge pull request #606 from triska/files

ADDED: library(files), for reasoning about files and directories.

5 years agobuild.rs recursively delves into directories during library bake stage, correct misna...
Mark Thom [Mon, 29 Jun 2020 06:58:10 +0000 (00:58 -0600)]
build.rs recursively delves into directories during library bake stage, correct misnamed file at machine/mod.rs:455 (#617)

5 years agoMerge pull request #613 from cduret/csv_lib
Mark Thom [Sat, 27 Jun 2020 19:28:10 +0000 (16:28 -0300)]
Merge pull request #613 from cduret/csv_lib

add csv library