Skip to content

Latest commit

 

History

History
168 lines (162 loc) · 55.1 KB

nif-bindings.md

File metadata and controls

168 lines (162 loc) · 55.1 KB

NIF Bindings

Engine

Rust Elixir Notes
allow_anonymous_fn allow_anonymous_fn/1
allow_if_expression allow_if_expression/1
allow_loop_expressions allow_loop_expressions/1
allow_looping allow_looping/1
allow_shadowing allow_shadowing/1
allow_statement_expression allow_statement_expression/1
allow_switch_expression allow_switch_expression/1
build_type - use dylib instead
call_fn call_fn/4
call_fn_dynamic - deprecated
call_fn_raw - deprecated
call_fn_with_options - advanced API
compact_script compact_script/2
compile compile/2
compile_expression compile_expression/2
compile_expression_with_scope compile_expression_with_scope/2
compile_file compile_file/2
compile_file_with_scope compile_file_with_scope/3
compile_into_self_contained compile_into_self_contained/3
compile_scripts_with_scope compile_scripts_with_scope/3
compile_with_scope compile_with_scope/3
const_empty_string - not implemented
consume - deprecated, use run instead
consume_ast - deprecated
consume_ast_with_scope - deprecated
consume_file - deprecated
consume_file_with_scope - deprecated
consume_with_scope - deprecated
default_tag - not implemented
default_tag_mut - not implemented
definitions - internals
definitions_with_scope - internals
disable_symbol -
ensure_data_size_within_limits ensure_data_size_within_limits/2
eval eval/2
eval_ast eval_ast/2
eval_ast_with_scope eval_ast_with_scope/3
eval_expression eval_expression/2
eval_expression_with_scope eval_expression_with_scope/3
eval_file eval_file/2
eval_file_with_scope eval_file_with_scope/3
eval_statements_raw - deprecated
eval_with_scope eval_with_scope/3
fail_on_invalid_map_property fail_on_invalid_map_property/1
fast_operators fast_operators/1
gen_fn_metadata_to_json - not implemented, metadata feature is not enabled
gen_fn_metadata_with_ast_to_json - not implemented, metadata feature is not enabled
gen_fn_signatures - not implemented, metadata feature is not enabled
get_interned_string - internals
lex - internals
lex_with_map - internals
map_type_name - not implemented
max_array_size max_array_size/1
max_call_levels max_call_levels/1
max_expr_depth max_expr_depth/1
max_function_expr_depth max_function_expr_depth/1
max_map_size max_map_size/1
max_modules max_modules/1
max_operations max_operations/1
max_string_size max_string_size/1
new new/0
new_raw new_raw/0
optimization_level optimization_level/1
optimize_ast optimize_ast/4
register_custom_operator register_custom_operator/3 use dylib instead
register_global_module register_global_module/2
register_indexer_get - use dylib instead
register_custom_syntax - use dylib instead
register_custom_syntax_raw - deprecated
register_custom_syntax_with_state_raw - low level API
register_debugger - unstable
register_fn - use dylib instead
register_get - use dylib instead
register_get_result - deprecated
register_get_set - use dylib instead
run run/2
run_ast run_ast/2
run_ast_with_scope run_ast_with_scope/3
run_file run_file/2
run_file_with_scope run_file_with_scope/3
run_with_scope run_with_scope/3
set_allow_anonymous_fn set_allow_anonymous_fn/2
set_allow_if_expression set_allow_if_expression/2
set_allow_loop_expressions set_allow_loop_expressions/2
set_allow_looping set_allow_looping/2
set_allow_shadowing set_allow_shadowing/2
set_allow_statement_expression set_allow_statement_expression/2
set_allow_switch_expression set_allow_switch_expression/2
set_default_tag - not implemented
set_fail_on_invalid_map_property set_fail_on_invalid_map_property/2
set_fast_operators set_fast_operators/2
set_max_array_size set_max_array_size/2
set_max_call_levels set_max_call_levels/2
set_max_expr_depths set_max_expr_depths/3
set_max_map_size set_max_map_size/2
set_max_modules set_max_modules/2
set_max_operations set_max_operations/2
set_max_string_size set_max_string_size/2
set_module_resolver set_module_resolvers/2 sets a ModuleResolverCollection
set_optimization_level set_optimization_level/2
set_strict_variables set_strict_variables/2
strict_variables strict_variables/1

Scope

Rust Elixir Notes
clear clear/1
clone_visible clone_visible/1
contains contains/2
get - not implemented, use get_value
get_mut - not implemented, use get_value
get_value get_value/2
is_constant is_constant/2
is_empty is_empty/1
iter - note implemented, Scope implements the Enumerable protocol
iter_raw - not implemented
len len/1
new new/0
pop pop/1
push push/2
push_constant push_constant/2
push_constant_dynamic - not implemented, use push_constant
push_dynamic - not implemented, use push
remove remove/2
rewind rewind/2
set_alias set_alias/3
set_or_push set_or_push/3
set_value set_value/3
with_capacity with_capacity/1

AST

Rust Elixir Notes
clear_doc - not implemented, metadata feature is not enabled
clear_functions clear_functions/1
clear_source clear_source/1
clear_statements clear_statements/1
clone_functions_only clone_functions_only/1
clone_functions_only_filtered - calling an Elixir function is not supported at the moment
clone_statements_only clone_statements_only/1
combine combine/2
combine_filtered - calling an Elixir function is not supported at the moment
doc - not implemented, metadata feature is not enabled
empty empty/0
has_functions has_functions/1
iter_fn_def - internals
iter_functions -
iter_literal_variables -
lib - deprecated
merge merge/2
merge_filtered - calling an Elixir function is not supported at the moment
new - internals
new_with_source - internals
resolver - internals
retain_functions - calling an Elixir function is not supported at the moment
set_source set_source/2
shared_lib - internals
source source/0
statements - internals
walk - internals