godot but we replaced gdscript with janet lisp :blobcatsuit:

@icedquinn

Solidity: We are basically java script except we have done every possible convention the exact oppposite.

@freemo i saw an open source project that tried to approach smart contracts but by using wasm. They had come up with some mechanism where any time a memory page was dirtied it charged gas and otherwise it hooked in to how wasm has its control structures designed to be easier for browsers to audit or somesth. made it in to a whole thing where you just run anything that can compile to wasm and multiple nodes could run and verify it, without resorting to a weird language.

neat but i don't think they're doing anything fun with it now

@icedquinn that sounds like the gas price would be unreasonably large with some huge problems. the EVM is just too finicky to not have some sort of customized language.

@freemo not really. wasm already structures loops to make it easy to deal with halting poblems, the pages can be smallish
Follow

@icedquinn its not just about halting or size. For example how would you define a functions visibility which would be external, internal, private or public... or other function modifiers like view or pure if the language doesnt have mechnisms for this. what about defining fallbacks with their extremely small gas price where you can only do real basic single operations, or how would you invoke EIPs like the proxy eip that use storage addresses that dont actually exist.

@freemo
> visibility
these don't even exist at the assembly level; they're high level constructs.

> fallbacks
wasm is fully capable of asking if the host provided a symbol to call.

> other things
host api

@icedquinn 1) the evm itself wont tell you if a symbol is available to call. You must know before hand and if your wrong it errors. This has issues for both visibilitya nd fallback calls.

2) visibility does exist at the assembly level. If you are writing a contract you must specify visibility which as it is enforced at runtime not compile time like most languages.

3) if you are writing a contract not sure how a host API would help, these things need to be encoded directly into your contract, its not like other languages where you can delegate calls to a standard library. Everything is compiled into your contract.

@freemo they're alternative virtual machines that run wasm natively, so none of this matters.

@icedquinn If the code needs a special virtual machine to run, and it isnt running the EVM, then it cant be used ont he ethereum blockchain in the first place as the miners are running EVM.. When you write a smart contract you arent the one who gets to dictate the computer that will run it, and therefore dont get to dictate the virtual machine used.

@freemo when you're proposing a new network you get to design how this works :cirno_shrug:

@icedquinn ok then you arent really talking about ethereum but rather a new cryptocurrency that is a fork of the eth codebase.. thats fine, but wasnt clear thats what you meant.

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.