Comments (7)
That's also a possibility, maybe we should vote?
If you don't think that rshift, lshift, binary or/and/not are needed, meaning that only not
(for booleans) is needed, vote with 👍
If you think rshift, lshift, binary or/and/not are needed, and thus a rough conversion double -> long is needed, vote with 👎
from ark.
I like the idea, however the standard library (in ArkScript) won't be very efficient for this, thus I would suggest to go with a standard module (in C++, with a UserType), generated from a string as you said
Let's close this if everyone agrees, and move onto an RFC for this module + an future module implementation?
Edit: after reading again your comment, you were in fact suggesting modules, mea culpa
from ark.
Implemented in ArkScript-lang/modules#39
from ark.
Any numeric value is stored finally as a double. The listed binary operations, however, work on integer types (int, long, etc.) and not the double type.
One possible solution is to have Value modified to store one of the integer types (int, long, etc.). @SuperFola any thoughts?
from ark.
You're right, thanks for pointing it out. I'm now wondering if can afford to have a double number type (long vs double), and if we do, is that really useful?
At least we can implement not
for booleans.
from ark.
Or the crudest way is to round the number and apply the operator on it.
from ark.
We could make bitstrings in the std library
Instead dealing with converting to integers, we could
- make a way to create bitstring like (make-bitstring "bitstring")
- make Ark method wrappers for bit manipulation
- and let c++ handle with std::bitset or our own implementation
from ark.
Related Issues (20)
- [Question] Evaluating code from a string HOT 1
- Macro processor segfaults when using undefined symbol HOT 1
- Null characters are crashing the VM
- Wrong number of arguments in a macro crashes the macro processor
- Write C++ the right way HOT 1
- Feature: add a code formatter to the CLI HOT 2
- CI: add a fuzzing step
- v4: integrate the new parser HOT 1
- VM shows invalid instruction on ARMv7 HOT 5
- Consider a smaller stack size
- Segmentation fault (core dumped) on import HOT 6
- Consider adding xmake support
- Rewrite the C++ tests to use a test framework
- Arkscript docker image has undefined symbols HOT 4
- Mention tool used for diagram in Code Structure section HOT 2
- Make the code formatter idempotent
- Enable `-Wall -Wextra -Wshadow -Wconversion -Wpedantic` HOT 2
- static analysis should run on each commit through precommit
- Create a fuzzing dictionary for arkscript
- [fuzzing] should we precompute a corpus?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ark.