Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lin Runtime megaissue. #17

Open
19 tasks
NotJustAnna opened this issue Nov 14, 2021 · 0 comments
Open
19 tasks

Lin Runtime megaissue. #17

NotJustAnna opened this issue Nov 14, 2021 · 0 comments
Labels
component:runtime This issue is related to the runtime. enhancement New feature or request
Milestone

Comments

@NotJustAnna
Copy link
Owner

NotJustAnna commented Nov 14, 2021

My plan is to make the Lin Runtime well-documented, tiered and easily buildable, so that it can both safely execute untrusted code in smaller/safer runtimes and be able to interact with the Java world at more permissible ones.

Essential Runtime

Lin will either not work at all or features will randomly not work.

  • __ensureNotNull
  • __iterator, __iterator -> __hasNext, __next
  • A native function which removes an entry from an array/object
  • A native function to clear an object/array

Minimal niceties to have

  • println
  • readln
  • cast to string/decimal/integers
  • toJSON/fromJSON
  • integer not/and/or/nor/nand/xor
  • integer bitAt
  • function binding
  • array lastIndex, array size, array firstElement, array lastElement
  • module system (eg. val { fromJSON, toJSON } = module("json"))
  • currentTimeMillis
  • Decimal.isNaN boolean

Dangerous stuff

  • file system access (real or virtual)
  • access to Kotlin/Java reflection
  • access to Lin compilation/evaluation
  • exit(code)
@NotJustAnna NotJustAnna added enhancement New feature or request component:runtime This issue is related to the runtime. labels Nov 14, 2021
@NotJustAnna NotJustAnna added this to the Version 1.0 milestone Nov 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:runtime This issue is related to the runtime. enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant