Skip to content

Latest commit

 

History

History
167 lines (161 loc) · 17.7 KB

CompletenessTable.md

File metadata and controls

167 lines (161 loc) · 17.7 KB

Rembulan completeness table

Missing language/runtime features

  • garbage collection, __gc metamethod
  • strings:
    • string library locale support
  • tables:
    • weak tables
    • efficient array tables

Standard library

Statuses:

  • complete -- full compatibility: if it doesn't work, it's a bug
  • partial -- partial compatibility, caveats apply
  • stub -- a stub; does not cause an error in most cases, but has no effect
  • not implemented -- not implemented; an error-throwing stub is present
  • missing -- not implemented; no stub present (will evaluate to nil)
Entry Status Notes
assert complete
collectgarbage stub no-op, no support for __gc metamethods
dofile partial binary chunks not supported, stdin mode not supported
error partial error levels not supported
_G complete
getmetatable complete
ipairs complete __ipairs metamethod not supported
load partial binary chunks not supported
loadfile partial binary chunks not supported, stdin mode not supported
next complete
pairs complete
pcall complete
print complete
rawequal complete
rawget complete
rawlen complete
rawset complete
select complete
setmetatable partial no support for weak tables
tonumber complete
tostring complete
type complete
_VERSION complete
xpcall complete
coroutine.create complete
coroutine.isyieldable complete
coroutine.resume complete
coroutine.running complete
coroutine.status complete
coroutine.wrap complete
coroutine.yield complete
require complete
package.config complete
package.cpath missing incompatible with Rembulan
package.loaded complete
package.loadlib not implemented incompatible with Rembulan
package.path partial default path assumes a Unix-like environment
package.preload complete
package.searchers partial the cpath searcher and the all-in-one searcher not implemented
package.searchpath complete
string.byte complete
string.char complete
string.dump not implemented
string.find complete
string.format complete
string.gmatch complete
string.gsub complete
string.len complete
string.lower complete
string.match complete
string.pack not implemented
string.packsize not implemented
string.rep complete
string.reverse complete
string.sub complete
string.unpack not implemented
string.upper complete
utf8.char not implemented
utf8.charpattern not implemented
utf8.codes not implemented
utf8.codepoint not implemented
utf8.len not implemented
utf8.offset not implemented
table.concat complete
table.insert complete
table.move complete
table.pack complete
table.remove complete
table.sort complete
table.unpack complete
math.abs complete
math.acos complete
math.asin complete
math.atan complete
math.ceil complete
math.cos complete
math.deg complete
math.exp complete
math.floor complete
math.fmod complete
math.huge complete
math.log complete
math.max complete
math.maxinteger complete
math.mininteger complete
math.modf complete
math.pi complete
math.rad complete
math.random complete
math.randomseed complete
math.sin complete
math.sqrt complete
math.tan complete
math.tointeger complete
math.type complete
math.ult complete
io.close complete untested
io.flush complete untested
io.input partial access default input file only, no open
io.lines not implemented
io.open not implemented
io.output partial access default output file only, no open
io.popen not implemented
io.read partial file:read not implemented
io.stdin complete
io.stderr complete
io.stdout complete
io.tmpfile not implemented
io.type complete
io.write complete
file:close complete untested
file:flush complete untested
file:lines not implemented
file:read not implemented
file:seek complete untested
file:setvbuf not implemented
file:write complete
os.clock partial meaning depends on the runtime environment
os.date not implemented
os.difftime not implemented
os.execute not implemented
os.exit not implemented
os.getenv complete
os.remove not implemented
os.rename not implemented
os.setlocale not implemented
os.time not implemented
os.tmpname not implemented
debug.debug not implemented unlikely to be implemented
debug.gethook not implemented instruction hooks incompatible
debug.getinfo not implemented incompatible
debug.getlocal not implemented incompatible
debug.getmetatable complete
debug.getregistry not implemented
debug.getupvalue complete
debug.getuservalue complete
debug.sethook not implemented instruction hooks incompatible
debug.setlocal not implemented incompatible
debug.setmetatable complete
debug.setupvalue complete
debug.setuservalue complete
debug.traceback not implemented
debug.upvalueid complete
debug.upvaluejoin complete