arturo
arturo copied to clipboard
Simple, expressive & portable programming language for efficient scripting
VM/values/types add new `:matrix` type? this would normally go with a separate Linear Algebra-related stdlib module https://github.com/arturo-lang/arturo/blob/7b87504ed1fcb7ef40bb03a3bb37503294ba4fb9/src/vm/values/types.nim#L140 ```text # Arturo # Programming Language + Bytecode VM compiler # (c) 2019-2022...
[vm/values/custom/vquantity] Clean up `getQuantityMultiplier` Do we need this? https://github.com/arturo-lang/arturo/blob/7b87504ed1fcb7ef40bb03a3bb37503294ba4fb9/src/vm/values/custom/vquantity.nim#L347 ```text proc getQuantityMultiplier*(src: UnitName, tgt: UnitName, isCurrency=false): float = # TODO(vm/values/custom/vquantity) Clean up `getQuantityMultiplier` # Do we need this? # labels:...
[vm/values/custom/vquantity] More units to add? https://github.com/arturo-lang/arturo/blob/7b87504ed1fcb7ef40bb03a3bb37503294ba4fb9/src/vm/values/custom/vquantity.nim#L22 ```text #======================================= # TODO(vm/values/custom/vquantity) More units to add? # labels: helpers, enhancement, open discussion type ``` 3b0be4bf2e1bff8eae2b1ae7ad5af2b9593ab9ee
[VM/values/clean] `cleanBlock` is too slow when built without NOERRORLINES - which is our normal setup - this specific piece of code could be slowing down the whole language by up...
[VM/stack] `peekRange` not working and unused... but it could be fixed, if we can defined reverse ranges https://github.com/arturo-lang/arturo/blob/364ea53af62abb182f7baa30ff8efe6e293fef6c/src/vm/stack.nim#L63 ```text Stack[SP-1-pos] # TODO(VM/stack) `peekRange` not working # and unused... but it...
[VM/profiler] Completely remove or make it work "properly" https://github.com/arturo-lang/arturo/blob/9a98f51d382e1536cda24db2b7375b143613e4d4/src/vm/profiler.nim#L280 ```text "procs": initOrderedTable[string, ProfilerDataRow]() }.toOrderedTable # TODO(VM/profiler) Completely remove or make it work "properly" # labels: vm, benchmark, performance, bug when...
**Is your feature request related to a problem? Please describe.** https://discord.com/channels/765519132186640445/829324913097048065/1016027700613365892 **Describe the solution you'd like** Arturo should be usable as a normal C library as well, with its headers,...
[VM/stack] should our main stack use `newSeqOfCap`? ...and `.add`/`.pop`? This should be benchmarked. https://github.com/arturo-lang/arturo/blob/d944ac79150549bcff0267c44b561544ca383380/src/vm/stack.nim#L77 ```text Stack[SP-1] template squeeze*(pos: int, v: Value) = when pos==1: let tmp = Stack[SP-1] Stack[SP-1] =...
[VM/eval] needs to be inside an `addTerminalValue` block? this look like a bug... https://github.com/arturo-lang/arturo/blob/d944ac79150549bcff0267c44b561544ca383380/src/vm/eval.nim#L426 ```text of Null: addToCommand((byte)opConstN) of Logical: # TODO(VM/eval) needs to be inside an `addTerminalValue` block? #...
[VM/eval] to be fixed https://github.com/arturo-lang/arturo/blob/d944ac79150549bcff0267c44b561544ca383380/src/vm/eval.nim#L274 ```text if (i+11: argStack.add(tmpFuncArity-1) # TODO(VM/eval) to be fixed # labels: bug, evaluator, vm evalFunctionCall(n.a[i+1], toHead=true, checkAhead=false): addTrailingConst(consts, n.a[i+1], opCall) else: addTrailingConst(consts, n.a[i+1], opCall) if...