Open ghost opened 5 years ago
Sounds good!, keep it going, tell me when you have a working version of the compiler
everything in time, take your time, the most important is to be strict with every piece of code.
just keep in mind that more it will be like Actionscript, more you will get developers from.... ;)
I'm enjoying working in Vegey though. ¯_(ツ)_/¯ ... But when I unfortunately hear bad sound from house's exterior I don't focus well on what I'm doing.
I overloaded city's carnaval sound with Dragon's Curse. Carnaval and neighbours sound is
I'm always working, sleeping with this https://ch.iherb.com/pr/Hearos-Ear-Plugs-Sleep-Pretty-in-Pink-14-Pair/71061?gclid=Cj0KCQiAk-7jBRD9ARIsAEy8mh5Erff2UAcdTyXKeZKSKFRDsW-IDyr-e5YMs9_28Ja2JC6vKmS5jokaAuImEALw_wcB&gclsrc=aw.ds with those I don't care what's outside...
Destructuring patterns:
o = {x: dx, z: dz} = next()
(two assignments; right-associative; result of next()
is used in a pattern and then assigned to o
)([ {x: ax, y: ay} ]) => bonus::process(ax, ay)
(lambda that takes coordinates from the 1st element of its parameter and alias them with a a
prefix)Vegey has no tuples (like (x, y, z)
in Rust or Python), but it supports structs ([Data]
classes) and ES-like recursive destructuring.
I could add them, but there's no perf. benefit and would cluster up semantics. The syntax would be boring too.
Tuples (those in Rust, Cone or Python) are immutable arrays with mixed types (e.g. (Type1, RandType, float)
, where members aren't named and thus you do vec.0
to access x-coord in vec = (x, y, z)
, or you use destructuring:
for (x, _, _) in locations {
println!("{}", x);
}
In Vegey it'd be like:
for each (var {x, _, _} in locations)
trace(x)
So it looks good, yeah? ActionScript-like, super-efficient.
LGTM, nice job!, the most important now is once you have all tests and components done a good article on your git hub with a good and clear example thus to attract other developers and create a team.
interesting syntax :)
On 3/15/2019 7:08 PM, hydroper wrote:
It was looking like that:
Imgur https://i.imgur.com/ckOyrR9.png
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ROBERT-MCDOWELL/Flash/issues/3#issuecomment-473489777, or mute the thread https://github.com/notifications/unsubscribe-auth/AChr8EeJ_h5DUMNZWcSIagwgoshFQPdOks5vXFIagaJpZM4bW_94.
yeah good! rome didn't build in one day :)
On 3/15/2019 6:59 PM, hydroper wrote:
Being aware of contests, it'll be worthier to study. Well, if something needs help in the technology's future, I may continue work in Vegey and brings some _Math_ier expressions (proper ranges and few symbols...).
Good, yeah? Btw...
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ROBERT-MCDOWELL/Flash/issues/3#issuecomment-473489072, or mute the thread https://github.com/notifications/unsubscribe-auth/AChr8KN_-x7J4aY8n0a1jCn0ZoLPPADdks5vXE__gaJpZM4bW_94.
is this https://github.com/jedisct1/wasmonkey can be an inspiration?
Replacing native
functions? A biiit
https://github.com/jedisct1 has good projects with rust,....
Rust is good too, but just the APK development is vague :/
android-rs-glue
depends in NDK/SDK and I can't have it in my phone to build and test apps.
I hope one day I can use Rust :| I just wanted to write my gfx lib, but right before a APK generator? No interest on doing that :v
You're settled to watch all subsequent repos in alien.as, hmmm...
astro new
and astro init
commands are already working, heheheh.
$ git clone https://github.com/alien-as/astro
$ cd astro
$ npm link
Now:
$ astro new particle-control
$ ls -a || dir
src
main.as
.gitignore
astro.toml
Anyway, I don't know if I can work on this framework. I live with my mother and 3 siblings and they keep saying I do nothing, but that's not it. I should finish some projects, be them in AS3-AIR.
The thing is that Rust doesn't still have a good library like Flash's display. Just that... If I touch inheritance etc. in Rust, then I'll delay again with my things.
know this? https://github.com/glium/glium
cannot use npm on my server, fedora 28 did not update npm with openssl 1.1 :(
Did you try npm i -g npm
? I don't know exactly openssl
... But it looks to be on all Linuxes.
error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory if I recall nodejs is still stuck with openssl-1.0.x and Fedora 28 removed it for 1.1.x. I'm super busy for now... :(
These kinds of system dependencies are silly... Unfortunately :\/
A good article from 2011, maybe mature today https://promethe.io/2013/09/23/from-actionscript-3-to-c-2011/
But I think in that case one can just target ANE from C++ code and invoke a native
entry function from AS.
Wohow, static const
flash.utils.ByteArray
s are thread-unsafe.
bytearray is be design shared :) mutex can manage the threads runninng https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/concurrent/Mutex.html
@ROBERT-MCDOWELL But in case I needed non-stream operations on ByteArray
, so that I'd not need thread-locks, e.g.: ba.readUnsignedInt(i)
rather than just ba.readUnsignedInt()
. The parsers I'm building could be rant simultaneously because they don't touch each other.
ha ok :)
That's another downside of Adobe AIR. But I weren't supposed to multi-thread, because I usually don't.
Wait, I forget workers are isolated... So I won't re-use my lib between threads and I'll also not multi-thread for now.
there still are workers, a kind of pseudo multithread...
I mean, workers can't re-use same objects easily. It'd be like hacking AIR runtime.
only one way, reverse engineering so :)
btw, there is no true multithread available on web development, because it's unsafe
Yep. Fortunately low-level APIs are possible in any language!
This is from this year: WebAssembly Threads ready to try in Chrome 70
I think they're unsafe for developer 'pitchfalls'. E.g., when nullying weak references in collections threads may overdo something in a internal race condition... Something so, but they'll never corrupt the browser as they're sandboxed.
Again I just got an idea and AS-N (actual language name) will easily support multi-threading. It's very fun... Types will be either atomic or solo-threaded.
In Rust you've some Arc
(atomic reference counters), sync::Weak
(weak version of Arc
) and some functions that implement Sync
+ Send
traits. In case I'm planning to just have a IAtomic
interface in the unnamed package ;)
Great idea, I like AS-N too!. if you succeed real multithread for a web language so most of developers will find a great interest to it. But I still not catch if the browser is the limit or not
Adobe AIR would be more important as a first target, because people will be able to directly take the compiler and produce apps with it (probably with some package manager).
ok anyhow there will be always bridge between air and web app.
here a nice blog about code optimization https://jacksondunstan.com/
My new parser is getting quite easier to understand. I'm using combinating methods, which touch a error stack, that's in turn moved to individual script's error stack thru a final parse method.
While I was thinking on multi-threading, I solved to strip unique_ptr programming, because it messed up the language's ideas, and instead can be done with addressof
plus a system-level API (if one needs to use ActionScript as if it were C++).
Overall it'll look like Swift, but based on ActionScript 3.0. E4X changes will be kinda cool.
more and more companies start to wakeup about the 2020 Flash deadline and most of them start to panic since they sell/use/share since 10 years and more their applications. So if you are conscious to build also a converter that will convert transparently Actionscript2/3 to Vegey and are really strong to write a consequent language manual focusing syntax diferences between As and Vegey so your language will have a chance to survive. It appears that now most of language teams are targeting Wasm, Wat and derivative as embedded container for web, non web to replace all downloadable app for mobiles and plugins for web browsers on pc like.
My suggestion: fork ruffl and create a new module called As3 native so you will be free to have an already big community with high interests. The only thing you should respect is the As3 language, and for sure add new write options. This way the language itself will be able to add new classes and functions.
Maybe you can ask the question to the ASC2 git project? I'm sure they will answer quickly.
it's an alternative yes, just never forget, the most simple to do is usually harder than to do complex in an easy way.
@ghost how are you? long time didn't hear you!
I said I couldn't program, mostly because I can't properly install SDKs and these alike things in my Android phone. The issue arises, in first place, because I can't install Android SDK and thus I'm unable to generate APK using tools like android-rs-glue and even Haxe tools. The unique alternative I know of is generating Dalvik bytecode or arch code (arm-androideabi, x64 etc.) and wrapping these in APKs manually with a language compiler.
Since Node.js is popular, there's much to help generating APK. I'll check things out...
Now I've finished vegeyparse's parser. It took a week apparently. I've not done any proper testing, just passed some expressions and directives to
vegeyparse.parse()
, fixing a lot of strangerisms. It reports errors very nicely!Now is needed a verifier (a.k.a. symbol solver). I had a partial one for DollScript, but I wanna plan it better. It's the last step to get writting vegeyc, the comliler that generates Vegey bytecode.