Adrián Arroyo Calle
47b5ae7984
Move argv/1 to library(os)
2024-01-02 13:16:11 +01:00
Markus Triska
47ec5eb6c6
ENHANCED: Use crrl for Ed25519 signing and signature verification.
...
The main motivation for this change is the introduction of the newly
available predicate ed25519_seed_keypair/2, allowing to generate a key
pair from a given seed. In this way, a key pair can be dynamically
generated from (for example) a password, using crypto_password_hash/3
in combination with crypto_data_hkdf/4 to generate the seed. The
advantage of this method is that the private key need not be stored at
all anywhere.
It is not possible to add a corresponding feature to ring, since it is
closed as "not planned": https://github.com/briansmith/ring/issues/1003
I also used this opportunity to move more of the logic to Prolog. We
now have total control of the key pair representation, and I also
changed the representation to conform to the PKCS#8 v2 standard,
something that only later ring versions do, while still being
backwards compatible with tools that produce a wrong representation
including earlier ring versions.
Another great advantage we get from this change is that the Ed25519
predicates now also run on the 32-bit and WASM versions of Scryer.
2023-12-26 07:33:44 +01:00
Mark Thom
2e114df4c7
Merge pull request #2173 from aarroyoc/js-eval
...
Add js_eval/2 for wasm32
2023-11-22 21:52:49 +01:00
Adrián Arroyo Calle
36ab590c4e
Add js_eval/2 for wasm32
2023-11-22 21:21:19 +01:00
Mark
54166b91eb
add global_count inference counter that is always incremented ( #2009 )
2023-11-20 16:24:31 -07:00
infogulch
9444e62df9
Resolve lints and format
2023-11-04 02:16:54 -05:00
Mark
dfd9e43405
correct (\+)/1 ( #2141 )
2023-10-31 23:58:59 -06:00
Mark
8f06ef965a
remove non-conforming hyperbolic and log10 evaluable functors
2023-10-28 18:17:43 -06:00
Mark
27b971cbfa
add registers to inlined instruction functors
2023-10-01 23:50:07 -06:00
Mark
a1ceeb697a
consider an '$aux' a relation of the unexpanded goal's variables in compile_inline_or_expanded_goal ( #2062 )
2023-10-01 23:49:55 -06:00
Mark
6fa00b5b55
get rid of inference_limit_exceeded(B) as an error term ( #2023 )
2023-09-30 22:35:46 -06:00
Adrián Arroyo Calle
660860bccf
Replace Hyper with Warp for HTTP server
...
- Use Warp
- Optimize clones
- HTTPS server
- Content-Length limit
- HTTP Basic Auth
- Stop server with Ctrl-C
2023-09-27 18:50:19 +02:00
Mark
de440a8c92
get rid of OssifiedOpDir, DBRef, simplify current_op/3
2023-09-11 15:36:15 -06:00
Rujia Liu
b6ce6b7cdb
Basic WebAssembly support with minimal Javascript API #615 . Currently 6/12 crypto functions supported. Tested in browser with all default features disabled.
2023-09-08 17:27:22 +08:00
Skgland
b2130c2a48
run cargo fmt
2023-09-05 19:12:17 +02:00
Mark
5585e83fd6
correct inference counting over index backtracking, built-ins ( #1977 , #1987 )
2023-09-04 17:15:16 -06:00
Mark
66f6399b8a
refine is/2 compilation so errors are thrown when expected without needlessly allocating ( #1974 , #1984 )
2023-08-29 16:42:23 -06:00
Rujia Liu
f6d3b2f896
Make Atom 64-bit regardless of architecture
2023-08-20 19:43:13 +08:00
Mark
60d9d01a55
Merge branch 'add_float_integer_part_and_float_fractional_part_standard_functions' of https://github.com/pmoura/scryer-prolog into pmoura-add_float_integer_part_and_float_fractional_part_standard_functions
2023-07-21 15:35:28 -06:00
Mark
1697cd5c7f
add log10, hyperbolic tan and inverse hyperbolic tan functions ( #1898 )
2023-07-20 12:33:51 -06:00
Mark Thom
1ba040c24d
Merge pull request #1885 from mthom/setof_bagof_fixes
...
Fix group_by_variants/4 and keysort in setof/3
2023-07-18 12:35:10 -06:00
Mark
42a50474da
remove read/{1,2} as a builtin, write read options upon EOF, throw better domain errors in parse_read_term_options/2
2023-07-17 16:45:03 -06:00
Mark
5a7da721cd
add read_term_from_chars/3 ( #637 )
2023-07-15 11:20:20 -06:00
Mark
ff5e9a793b
add unknown flag to set_prolog_flag and current_prolog_flag
2023-07-14 19:10:10 -06:00
Mark
101d0548db
fix group_by_variants/4 and keysort in setof/3 ( #1440 , #1856 )
2023-07-14 18:52:29 -06:00
Mark
b6a81c51ab
add (:-)/1 and (:-)/2 to ClauseType::is_inbuilt ( #1872 )
2023-07-14 12:44:28 -06:00
Mark
4fd37335f5
use lookahead to skip inapplicable clauses ( #1028 , #1502 )
2023-07-12 14:39:02 -06:00
Mark
483e4568a2
add scc_block to MachineState to avoid SCC cleanup terms being deallocated too early ( #1427 )
2023-07-06 11:20:49 -06:00
Mark
9cdad087ef
add double_quotes write option for printing to strings, enable it at toplevel
2023-07-03 12:09:05 -06:00
Mark
b593fffc7d
support module resolution in current_predicate/1 ( #1817 )
2023-06-27 11:08:29 -06:00
Mark
4ad113a6f8
mark is/2 allocated permanent variables as safe, add CompareNumber terms to ClauseType::is_inlined
2023-06-23 14:11:31 -06:00
Mark
d7f5675727
improve call/N implementation ( #1829 )
2023-06-23 14:11:31 -06:00
Mark
0e583d620a
implement new disjunction compilation
2023-06-23 14:11:31 -06:00
Mark Thom
942095baa7
remove GetLevelAndUnify and replace it with GetCutPoint
2023-06-23 14:11:30 -06:00
Mark Thom
d565f5901b
milestone marker for surgery
2023-06-23 13:54:04 -06:00
Mark
c5a3ec3ba8
fix current_predicate/1 ( #1761 )
2023-04-24 23:23:27 -06:00
Mark
f35298a227
add and document inlined_instructions/2 to/in diag.pl ( #1791 )
2023-04-22 18:38:49 -06:00
Mark Thom
4ee6a7bfb8
add '$unattributed_var' builtin ( #1758 )
2023-03-18 23:08:38 -06:00
Mark Thom
4da646252b
Revert "correct call_residue_vars/3 using new copy_term_3 ( #1239 )"
...
This reverts commit 9b35a316c9 .
2023-03-14 21:34:49 -06:00
Mark Thom
9b35a316c9
correct call_residue_vars/3 using new copy_term_3 ( #1239 )
2023-03-12 17:56:54 -06:00
Adrián Arroyo Calle
7396630627
Merge branch 'master' into ffi
2023-02-28 22:10:40 +01:00
Adrián Arroyo Calle
9d52d2a653
MVP of Foreign Function Interface
2023-02-22 23:10:03 +01:00
Mark Thom
92d543b8a8
change '$delete_all_attributes' to '$delete_all_attributes_from_var'
2023-02-20 01:11:52 -07:00
Mark Thom
3f445c76be
add '$delete_all_attributes', use copy_term/3 as defined in #1272
2023-02-20 01:11:51 -07:00
Mark Thom
359619e035
simplify and optimize attributed variables ( #1590 , #1634 , #1730 )
2023-02-10 21:56:42 -07:00
Mark Thom
9454d670c7
port '$get_from_list' to '$get_from_attr_list' in Rust
2023-02-06 01:23:29 -07:00
Mark Thom
a7e93db363
improve retract/1 and related predicates ( #1598 )
2023-01-22 21:04:41 -07:00
Mark Thom
820011412b
Merge pull request #1658 from aarroyoc/copy_file
...
Add predicate file_copy/2 in library(files)
2022-12-18 21:22:25 +01:00
Mark Thom
d804d8a92e
use proper dynamic arities in JmpByCall and JmpByExecute ( #1605 , #1606 )
2022-12-17 11:54:20 -07:00
Mark Thom
cf63e8375d
track attr_var_init lengths on the stack ( #1667 )
2022-12-16 20:10:17 -07:00