Stephen Chung
|
d73f3a1d60
|
Add functions lookup cache.
|
2020-12-18 23:47:17 +08:00 |
|
Stephen Chung
|
db7b9cb0f9
|
Native only if function call is not a valid identifier.
|
2020-12-18 23:03:56 +08:00 |
|
Stephen Chung
|
1087c338bd
|
Change output of AST::iter_functions.
|
2020-12-12 16:31:13 +08:00 |
|
Stephen Chung
|
40b6a014ae
|
Provide Position to debug.
|
2020-12-12 11:47:18 +08:00 |
|
Stephen Chung
|
5443368359
|
Pass Position into function calls.
|
2020-12-12 11:15:09 +08:00 |
|
Stephen Chung
|
7598ec136f
|
Fix feature builds.
|
2020-12-08 23:09:12 +08:00 |
|
Stephen Chung
|
f22a04fc74
|
Move constancy into Dynamic.
|
2020-12-08 22:47:38 +08:00 |
|
Stephen Chung
|
a0979d0c35
|
Code cleanup
|
2020-11-25 09:36:06 +08:00 |
|
Stephen Chung
|
739dce72e3
|
Move if_def_fn into CorePackage.
|
2020-11-22 15:41:55 +08:00 |
|
Stephen Chung
|
783803ec46
|
Update comments with links.
|
2020-11-20 16:52:28 +08:00 |
|
Stephen Chung
|
5e4ede6f07
|
global_module -> global_namespace.
|
2020-11-19 13:56:03 +08:00 |
|
Stephen Chung
|
999a87f86e
|
Fix no_optimize build.
|
2020-11-16 23:32:44 +08:00 |
|
Stephen Chung
|
272c8505b8
|
Refactor use.
|
2020-11-16 23:10:14 +08:00 |
|
Stephen Chung
|
d50d48f26f
|
Move definition of Array and Map to lib.rs.
|
2020-11-16 21:14:32 +08:00 |
|
Stephen Chung
|
adb902326e
|
Reduce feature gates on imports.
|
2020-11-16 16:28:04 +08:00 |
|
Stephen Chung
|
ef02150afd
|
Expose methods for Engine::register_module.
|
2020-11-16 14:07:48 +08:00 |
|
Stephen Chung
|
b75964e383
|
Add Dynamic::UNIT.
|
2020-11-15 23:14:29 +08:00 |
|
Stephen Chung
|
89254a04c4
|
Fix tests.
|
2020-11-14 17:22:01 +08:00 |
|
Stephen Chung
|
56fbe39b7b
|
Use references for switch expressions, if possible.
|
2020-11-14 16:08:48 +08:00 |
|
Stephen Chung
|
958762079e
|
Change modules to namespace.
|
2020-11-10 23:26:50 +08:00 |
|
Stephen Chung
|
e69444293c
|
Encapsulate imported modules into AST.
|
2020-11-09 21:52:23 +08:00 |
|
Stephen Chung
|
48886eacc8
|
Add == and != to arrays and maps.
|
2020-11-08 23:00:37 +08:00 |
|
Stephen Chung
|
b3d318ef7f
|
Module resolver returns shared module.
|
2020-11-07 23:33:21 +08:00 |
|
Stephen Chung
|
6bc5ba6668
|
Enable functions to use global imports.
|
2020-11-06 19:17:07 +08:00 |
|
Stephen Chung
|
07a8a43298
|
Optimize data structures.
|
2020-11-06 16:27:40 +08:00 |
|
Stephen Chung
|
2168fd5361
|
Expr::Stmt takes a statements block.
|
2020-11-04 11:49:02 +08:00 |
|
Stephen Chung
|
b9de8eaa7f
|
Minor code refactor.
|
2020-11-02 23:54:19 +08:00 |
|
Stephen Chung
|
d7d6f74dfd
|
Add constant NO_POS.
|
2020-11-02 12:50:27 +08:00 |
|
Stephen Chung
|
c55fc5a9a5
|
Optimize Scope.
|
2020-11-01 22:46:46 +08:00 |
|
Stephen Chung
|
abbee80e5d
|
Do not box ModuleRef.
|
2020-10-31 23:51:59 +08:00 |
|
Stephen Chung
|
4e115d2bc2
|
Code structure refactor.
|
2020-10-29 11:37:51 +08:00 |
|
Stephen Chung
|
f5ffbfbe06
|
Code structure cleanup.
|
2020-10-28 22:18:44 +08:00 |
|
Stephen Chung
|
f56c3fe9cb
|
Add Ident/IdentX to AST.
|
2020-10-28 19:11:17 +08:00 |
|
Stephen Chung
|
427af14f1b
|
Don't wrap system errors from function calls.
|
2020-10-28 14:10:46 +08:00 |
|
Stephen Chung
|
01663a6581
|
Refine docs.
|
2020-10-27 11:30:38 +08:00 |
|
Stephen Chung
|
b467b18722
|
Fix no_std build.
|
2020-10-25 22:08:02 +08:00 |
|
Stephen Chung
|
b607a3a9ba
|
Add raw API for custom syntax.
|
2020-10-25 21:57:18 +08:00 |
|
Stephen Chung
|
2c7c719cd5
|
Minor cleanup before release.
|
2020-10-22 12:26:44 +08:00 |
|
Stephen Chung
|
5ee9dfc5cd
|
1) Change namespaces to iter_namespaces
2) throw can throw any value
|
2020-10-20 18:09:26 +08:00 |
|
Stephen Chung
|
92ba7b42d5
|
Implement namespaces chain.
|
2020-10-20 10:54:32 +08:00 |
|
Stephen Chung
|
a9fd0ff4de
|
Encapsulate scope into EvalContext;
Fix bug with custom syntax delta.
|
2020-10-19 19:11:55 +08:00 |
|
Stephen Chung
|
46b92c9d1f
|
Allow NativeCallContext in function arguments.
|
2020-10-18 21:47:34 +08:00 |
|
Stephen Chung
|
82e6dd446a
|
Encapsulate register_fn_raw parameters into NativeCallContext.
|
2020-10-18 17:02:17 +08:00 |
|
Stephen Chung
|
aa6d00f253
|
Fix bug.
|
2020-10-17 20:01:31 +08:00 |
|
Stephen Chung
|
f903eda8ab
|
Catch Fn and eval in method call at parse time.
|
2020-10-17 18:18:29 +08:00 |
|
Stephen Chung
|
39474d6420
|
Streamline function pointers and currying.
|
2020-10-17 13:49:16 +08:00 |
|
Stephen Chung
|
f995d09d8b
|
Fix bug with calling scripted function.
|
2020-10-16 21:16:06 +08:00 |
|
Stephen Chung
|
54d5b29390
|
Remove clone.
|
2020-10-15 23:44:05 +08:00 |
|
Stephen Chung
|
1e21a7f7e7
|
Introduce IndexChainValue.
|
2020-10-15 23:30:30 +08:00 |
|
Stephen Chung
|
28697e0380
|
Remove support for script-line native functions.
|
2020-10-13 14:40:02 +08:00 |
|
Stephen Chung
|
3c7805d514
|
Encapsulate environment in ScriptFnDef.
|
2020-10-13 09:38:14 +08:00 |
|
Stephen Chung
|
6d0851de44
|
Reverse function call parameter change.
|
2020-10-12 19:36:34 +08:00 |
|
Stephen Chung
|
21b989afd5
|
Refine function call parameters size.
|
2020-10-12 17:00:58 +08:00 |
|
Stephen Chung
|
fd5a932611
|
Implement variable resolver.
|
2020-10-11 21:58:11 +08:00 |
|
Stephen Chung
|
994e5a4251
|
Move some concat functions to builtin.
|
2020-10-10 22:13:55 +08:00 |
|
Stephen Chung
|
612ecc4ebc
|
Move StaticVec definition to lib.rs.
|
2020-10-10 13:41:55 +08:00 |
|
Stephen Chung
|
1272eeb81a
|
Add/remove #[inline] attributes.
|
2020-10-08 22:25:50 +08:00 |
|
Stephen Chung
|
44f8d9e429
|
Refine Module::iter_script_fn_info.
|
2020-10-05 21:52:39 +08:00 |
|
Stephen Chung
|
82d48df734
|
Merge data type mismatch errors.
|
2020-10-05 13:45:57 +08:00 |
|
Stephen Chung
|
0d0affd5e9
|
Eagerly evaluate built-in operators for OptimizationLevel::Simple.
|
2020-10-05 10:27:31 +08:00 |
|
Stephen Chung
|
a962debf0d
|
Simplify target back propagation.
|
2020-10-04 10:40:44 +08:00 |
|
Stephen Chung
|
23d0f52284
|
Better error messages.
|
2020-10-03 23:27:30 +08:00 |
|
Stephen Chung
|
fbfb7677c1
|
Add is_def_var and is_def_fn.
|
2020-10-03 16:25:58 +08:00 |
|
Stephen Chung
|
03dce86328
|
Support Dynamic as function default return value.
|
2020-09-26 16:27:38 +08:00 |
|
Stephen Chung
|
e62d1cd3ff
|
Better error message for setter.
|
2020-09-26 12:34:06 +08:00 |
|
Stephen Chung
|
f406fc0ac0
|
Fix function calls.
|
2020-09-25 19:07:24 +08:00 |
|
Stephen Chung
|
cfe28c9282
|
Remove Position parameter from plugin call function.
|
2020-09-20 10:51:37 +08:00 |
|
Stephen Chung
|
6c69a40083
|
Allow scripted functions in packages.
|
2020-09-11 22:32:59 +08:00 |
|
Stephen Chung
|
1dacf21a84
|
Fix no_std builds by pulling in num-traits.
|
2020-08-23 18:28:55 +08:00 |
|
Stephen Chung
|
3902e49a7d
|
Fix bug in right-shifts.
|
2020-08-23 18:04:19 +08:00 |
|
Stephen Chung
|
211ce54973
|
Move most packages to modules.
|
2020-08-22 22:26:49 +08:00 |
|
Stephen Chung
|
7c1d4efeb7
|
Merge branch 'master' into plugins_dev
|
2020-08-20 16:54:00 +08:00 |
|
Stephen Chung
|
ac6d519d28
|
Fix bug that consumes first argument in module-qualified call.
|
2020-08-20 16:26:10 +08:00 |
|
Stephen Chung
|
6a3e123306
|
Use split_first_mut instead of split_at_mut.
|
2020-08-18 23:19:26 +08:00 |
|
Stephen Chung
|
0e344ff3eb
|
Merge branch 'master' into plugins
|
2020-08-08 23:01:48 +08:00 |
|
Stephen Chung
|
f68c5a699d
|
Fix sync feature.
|
2020-08-08 17:04:21 +08:00 |
|
Stephen Chung
|
fbad20eb0d
|
Merge branch 'master' into plugins
|
2020-08-08 16:26:52 +08:00 |
|
Stephen Chung
|
5a1a141ce3
|
Improve shared value treatment.
|
2020-08-08 16:24:10 +08:00 |
|
Stephen Chung
|
4465a44673
|
Fix typos.
|
2020-08-06 10:31:32 +08:00 |
|
Stephen Chung
|
26c5b10ef7
|
Merge branch 'master' into plugins
|
2020-08-06 10:31:15 +08:00 |
|
Stephen Chung
|
2f395492de
|
Simply error code.
|
2020-08-06 10:17:32 +08:00 |
|
Stephen Chung
|
ae11dbbefe
|
Fix feature flags.
|
2020-08-05 22:53:01 +08:00 |
|
Stephen Chung
|
5ea08d2b50
|
Bump version.
|
2020-08-05 17:55:36 +08:00 |
|
Stephen Chung
|
b0ab6e95f5
|
Fix currying in map closure calls.
|
2020-08-04 18:38:33 +08:00 |
|
Stephen Chung
|
24346b9728
|
Merge branch 'master' into plugins
|
2020-08-04 16:51:22 +08:00 |
|
Stephen Chung
|
4079164bfd
|
Implement closures.
|
2020-08-03 12:10:20 +08:00 |
|
Stephen Chung
|
5eed5fe6a3
|
Add plugins test.
|
2020-08-02 18:53:25 +08:00 |
|
Stephen Chung
|
747c0345f2
|
Do not convert a function call into a method call if the object is shared.
|
2020-08-02 13:51:07 +08:00 |
|
Stephen Chung
|
b86c87253b
|
Prevent data races.
|
2020-08-02 13:33:51 +08:00 |
|
Stephen Chung
|
cc53b21731
|
Avoid hard-coding variable type for shared.
|
2020-08-01 22:28:13 +08:00 |
|
Stephen Chung
|
af2f8acb5d
|
Refine indexer set.
|
2020-08-01 12:21:15 +08:00 |
|
Stephen Chung
|
60891e694f
|
Streamline code and feature gates.
|
2020-07-31 22:30:23 +08:00 |
|
Stephen Chung
|
8d0623d07f
|
Add is_shared function.
|
2020-07-31 18:43:34 +08:00 |
|
Stephen Chung
|
d563b878aa
|
Fix no_std builds.
|
2020-07-31 17:26:49 +08:00 |
|
Stephen Chung
|
df8587ac91
|
Make sure both shared and take can be called in both styles.
|
2020-07-31 17:06:40 +08:00 |
|
Stephen Chung
|
871fcb38be
|
Minor style changes and make sure no_shared works on all.
|
2020-07-31 16:03:08 +08:00 |
|
Ilya Lakhin
|
5d1f5cc2b4
|
Dynamic::read renamed to Dynamic::clone_inner_data
|
2020-07-31 13:10:05 +07:00 |
|
Ilya Lakhin
|
89f75bbf0c
|
Merge remote-tracking branch 'schungx/closures' into closures
|
2020-07-31 13:05:16 +07:00 |
|
Ilya Lakhin
|
4f771d904a
|
Code cleanup
|
2020-07-31 12:09:32 +07:00 |
|
Ilya Lakhin
|
ca64668e58
|
take() keyword; shared test with registered functions with callbacks
|
2020-07-31 11:41:22 +07:00 |
|
Stephen Chung
|
49392d57d7
|
Fix no_std feature.
|
2020-07-31 12:40:16 +08:00 |
|
Stephen Chung
|
cb005506e2
|
Simplify function calling.
|
2020-07-31 12:11:16 +08:00 |
|
Ilya Lakhin
|
aa87a7f5ef
|
Fixes in Engine to properly interpret Shared Dynamic
|
2020-07-31 10:47:22 +07:00 |
|
Ilya Lakhin
|
e5fe222de3
|
Shared variant of Dynamic type; All read/write access operations in Dynamic backed by Read/Write lock guards; new shared() script function
|
2020-07-31 10:47:14 +07:00 |
|
Stephen Chung
|
a7ff207636
|
Use Scope::flatten_clone for capturing.
|
2020-07-30 23:29:30 +08:00 |
|
Stephen Chung
|
98b294c699
|
Implement capturing.
|
2020-07-30 18:18:28 +08:00 |
|
Stephen Chung
|
e505a06839
|
Add comparison operators to ImmutableString.
|
2020-07-30 13:28:25 +08:00 |
|
Stephen Chung
|
6e663eecb4
|
Fix fn_call.
|
2020-07-29 23:39:32 +08:00 |
|
Stephen Chung
|
4510d3a659
|
Merge branch 'master' into plugins
|
2020-07-29 14:17:40 +08:00 |
|
Stephen Chung
|
411539f3be
|
Minimize usage of downcast_ref.
|
2020-07-28 19:11:46 +08:00 |
|
Stephen Chung
|
0c703c0361
|
Merge branch 'master' into plugins
|
2020-07-28 11:08:57 +08:00 |
|
Stephen Chung
|
057f6435a4
|
Add public_only parameter to module function methods.
|
2020-07-27 18:10:45 +08:00 |
|
Stephen Chung
|
a3a167424b
|
Allow Rust functions in FnPtr::call_dynamic.
|
2020-07-27 12:52:32 +08:00 |
|
Stephen Chung
|
4691f7860c
|
Merge branch 'master' into plugins
|
2020-07-26 16:09:27 +08:00 |
|
Stephen Chung
|
6b600704a3
|
Avoid warnings.
|
2020-07-26 15:53:22 +08:00 |
|
Stephen Chung
|
25ee4b4f82
|
Merge branch 'master' into plugins
|
2020-07-26 14:07:29 +08:00 |
|
Stephen Chung
|
e7af008d74
|
Avoid warnings.
|
2020-07-26 13:51:09 +08:00 |
|
Stephen Chung
|
8e33cbfe34
|
Merge branch 'master' into plugins
|
2020-07-26 10:05:56 +08:00 |
|
Stephen Chung
|
353df6bea1
|
Avoid warnings in standard build.
|
2020-07-26 10:03:59 +08:00 |
|
Stephen Chung
|
1c58bdb2a1
|
Merge branch 'master' into plugins
|
2020-07-23 18:46:25 +08:00 |
|
Stephen Chung
|
bff266d4e1
|
Move function calling to separate source file.
|
2020-07-23 18:40:42 +08:00 |
|
Stephen Chung
|
35fa61cd4b
|
Do not export fn_native.
|
2020-06-18 18:39:28 +08:00 |
|
Stephen Chung
|
a2c50879fe
|
Fix dropping issues with StaticVec and use it everywhere.
|
2020-05-17 00:24:07 +08:00 |
|
Stephen Chung
|
974512d650
|
Use StaticVec to build arguments list.
|
2020-05-10 16:56:17 +08:00 |
|
Stephen Chung
|
d83b829810
|
Avoid copying arguments for function calls.
|
2020-05-03 16:54:24 +08:00 |
|
Stephen Chung
|
0a75479637
|
Refine packages plumbing.
|
2020-04-21 23:01:10 +08:00 |
|
Stephen Chung
|
a35518fe49
|
Split tokenizer into separate file, plus fix no_std feature.
|
2020-04-15 22:21:23 +08:00 |
|
Stephen Chung
|
5152a40e93
|
Change Dynamic to enum.
|
2020-04-12 23:00:06 +08:00 |
|
Stephen Chung
|
518725e119
|
Add support for anonymous functions in Rust.
|
2020-04-08 23:01:48 +08:00 |
|