Petri Häkkinen
d2bf2870e8
Add lua_isvector, luaL_checkvector and luaL_optvector ( #261 )
...
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-12-01 11:03:08 -08:00
Petri Häkkinen
bf6cf4a69e
Fix luau_load 'env' to work with absolute stack index & add lua_absindex ( #263 )
...
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
2021-12-01 10:44:38 -08:00
kunitoki
35e497b533
Allow reconfiguring VM defaults ( #260 )
...
Co-authored-by: Lucio Asnaghi <lucio.asnaghi@king.com>
2021-11-30 17:03:18 -08:00
Arseny Kapoulkine
955f9fa754
Update index.md
...
Studio => luau-analyze
2021-11-30 15:26:28 -08:00
vegorov-rbx
6801c65090
Documentation for type packs ( #257 )
...
* Documentation for type packs
* Update docs/_pages/typecheck.md
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
* Add a note about the difference between ...T and T...
Fix a typo at the start as well.
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-30 14:00:23 -08:00
Arseny Kapoulkine
f185e9f5db
Update performance.md ( #252 )
...
Add documentation for closure allocation elision.
2021-11-30 08:21:11 -08:00
Petri Häkkinen
677994b243
Fix: luaL_sandbox leaves value on the stack ( #253 )
...
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
2021-11-30 08:14:28 -08:00
Petri Häkkinen
9aa9ff12dd
Add LUA_GCCOUNTB option for lua_gc ( #254 )
...
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
2021-11-30 08:14:12 -08:00
Lana Octavia
f86d4c6995
Removed LUALIB_API from source file method bodies ( #235 )
2021-11-29 08:14:06 -08:00
Baileyeatspizza
222f03bbda
Update lmathlib.cpp ( #241 )
2021-11-29 08:13:55 -08:00
Arseny Kapoulkine
dd02420f70
Update build.yml
...
Enable debug mode in coveralls action to diagnose https://github.com/lemurheavy/coveralls-public/issues/1595
2021-11-23 11:44:18 -08:00
vegorov-rbx
6b2b179aa6
Mark 'Type alias type packs' RFC as implemented ( #237 )
2021-11-23 10:03:20 -08:00
Arseny Kapoulkine
5740686124
Ignore errors during upload coverage ( #236 )
2021-11-23 08:26:28 -08:00
Alexander McCord
6958716ccd
RFC: String interpolation ( #165 )
2021-11-22 14:59:38 -08:00
Tiffany Bennett
a26024fb4b
Use latest release url ( #227 )
2021-11-22 12:54:27 -08:00
Arseny Kapoulkine
5961261a1c
Add web workflow to build Repl with Emscripten ( #222 )
...
This also separates Emscripten build into a new target / source to make
it more decoupled.
2021-11-22 09:59:15 -08:00
petrihakkinen
2740f69f32
Expand vectors to 4 components using compile time switch ( #214 )
...
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-22 07:42:33 -08:00
Pelanyo Kamara
a5bb3ee2af
Add luaL_checkboolean and luaL_optboolean ( #221 )
...
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-22 07:42:11 -08:00
Arseny Kapoulkine
cecd50fb06
Update navigation.yml
...
Remove leftover comments
2021-11-21 20:12:21 -08:00
Arseny Kapoulkine
ffed184562
Update navigation.yml
...
Add demo to top-level nav
2021-11-21 20:12:08 -08:00
Arseny Kapoulkine
2fa5b9c329
Update repl.html
...
Try using a release artifact
2021-11-21 20:07:44 -08:00
Josh Soref
ec8a5643cc
Improve readability ( #206 )
...
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-19 10:45:53 -08:00
Arseny Kapoulkine
100710c9f6
Update README.md
...
Switch to luau_compile and specify env for luau_load
2021-11-19 08:15:56 -08:00
Arseny Kapoulkine
3f1508c83a
Sync to upstream/release/505 ( #216 )
...
- Improve error recovery during type checking
- Initial (not fully complete) implementation for singleton types (RFC RFC: Singleton types #37 )
- Implement a C-friendly interface for compiler (luacode.h)
- Remove C++ features from lua.h (removed default arguments from luau_load and lua_pushcfunction)
- Fix lua_breakpoint behavior when enabled=false
- Implement coroutine.close (RFC RFC: coroutine.close #88 )
Note, this introduces small breaking changes in lua.h:
- luau_load env argument is now required, pass an extra 0
- lua_pushcfunction now must be called with 3 arguments; if you were calling it with 2 arguments, pass an extra NULL; if you were calling it with 4, use lua_pushcclosure.
These changes are necessary to make sure lua.h can be used from pure C - the future release will make it possible by adding an option to luaconf.h to change function name mangling to be C-compatible. We don't anticipate breaking the FFI interface in the future, but this change was necessary to restore C compatibility.
Closes #121
Fixes #213
2021-11-19 08:10:07 -08:00
Arseny Kapoulkine
4265e58ad1
RFC: coroutine.close ( #88 )
2021-11-17 06:49:49 -08:00
ccuser44
09ad884ca8
Update SECURITY.md ( #209 )
...
In some use cases it is better to encrypt the bytecode, while on others you may want to do both.
2021-11-17 06:42:14 -08:00
ccuser44
a02086260b
Added note to docs about not using os.difftime for new work ( #210 )
...
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
Fixes #194 .
2021-11-17 06:42:04 -08:00
Alan Jeffrey
59366ad7f8
Clarified parsing properties of tables in the presence of singleton types ( #207 )
2021-11-16 14:48:01 -06:00
fpliu
e7a443daa8
Fix Android linking issue with libpthread ( #203 )
2021-11-15 15:01:36 -08:00
Arseny Kapoulkine
6558c271dd
Create SECURITY.md
...
Fixes #197 .
2021-11-15 12:04:26 -08:00
ThePotato
d11e8277c2
Fixes IFTODT error while compiling from an android device ( #199 )
...
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-12 06:58:34 -08:00
Arseny Kapoulkine
b7d26b371a
Use -Werror in CI only ( #201 )
...
We keep getting compat reports for warnings in various compiler
versions. While we can keep merging PRs to resolve these warnings, it
would be nice if the users of other compilers or compiler versions weren't
blocked on us fixing this.
As such, this change disables Werror by default and only enables it when
requested, which happens in CI in test builds.
2021-11-12 06:56:25 -08:00
Arseny Kapoulkine
70ffc8a01d
RFC: Do not allow method call on string literals ( #145 )
2021-11-12 06:54:00 -08:00
Arseny Kapoulkine
d47b2f1dfe
Sync to upstream/release/504 ( #200 )
...
- Type mismatch errors now show detailed information for compound types, highlighting the mismatching component
- Fix string.pack bug on ARM when packing negative numbers using unsigned formats
- Implement bit32.countlz/countrz (RFC RFC: bit32.countlz/countrz #89 )
- Minor compiler throughput optimization (~2% faster compilation)
- Improve transpiler behavior for edge cases and better test coverage (not exposed through CLI at the moment)
- Improve error recovery when parsing invalid assignments
- Build fixes for fuzzing targets
2021-11-12 06:27:34 -08:00
LoganDark
a6a2b86c9b
Fix build on Clang 12 by removing unused variables ( #195 )
2021-11-11 06:29:59 -08:00
dcope-rbx
68fb2bdfde
Addressed typecasting documentation feedback ( #192 )
2021-11-10 11:53:43 -08:00
dcope-rbx
4957812b62
Added documentation related to typecasting ( #191 )
2021-11-10 09:26:20 -08:00
Pelanyo Kamara
aec8fbfd0f
Feature: Web REPL using Emscripten ( #138 )
...
Currently doesn't include the new page into navigation since we aren't building the .js files anywhere.
2021-11-10 08:40:46 -08:00
LoganDark
d6b3346f58
move static_assert from ltable.h to ltable.cpp ( #189 )
2021-11-09 17:02:46 -08:00
Arseny Kapoulkine
f3468be92b
Small follow code cleanup for Repl.cpp
2021-11-09 15:11:52 -08:00
NotDSF
3ba0bdf708
Save bytecode to file through CLI ( #170 )
...
Using --compile=binary it's now possible to produce binary bytecode so that it can be compiled offline and loaded into the VM.
2021-11-09 14:54:53 -08:00
Arseny Kapoulkine
fe1bf43b54
RFC: bit32.countlz/countrz ( #89 )
...
Co-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>
2021-11-09 10:40:14 -08:00
LoganDark
9523670e63
Remove Roblox-specific mutable globals ( #185 )
...
Instead the code that calls the compiler needs to use Compiler::mutableGlobals to disable GETIMPORT optimization.
2021-11-09 07:06:25 -08:00
LoganDark
773fb5bd6f
Don't allow registry to be set to readonly ( #184 )
2021-11-08 15:30:51 -08:00
Arseny Kapoulkine
7816f2596f
Update config.yml
...
Rename "help and support" to "questions"
2021-11-08 15:01:57 -08:00
LoganDark
7ca09ec100
Fix lbuiltins.cpp comment ( #180 )
2021-11-08 11:09:30 -08:00
LoganDark
f1649a43cd
Add userdata to lua_Callbacks ( #168 )
2021-11-08 08:26:03 -08:00
Arseny Kapoulkine
46244d2ea7
Update getting-started.md
...
Update file extension from .lua to .luau
Contributes to #97
2021-11-07 23:21:34 -08:00
ThePotato
f27580c74b
Fix linux typo in README.md "Linus" to "Linux" ( #174 )
2021-11-07 23:19:28 -08:00
Arseny Kapoulkine
16753a78f4
Update navigation.yml
...
Add GitHub link to top bar
2021-11-07 08:07:57 -08:00
Arseny Kapoulkine
c6de3bd2e4
Update sandbox.md
...
Remove section on thread identity: this is not part of open-source Luau and as such is now confusing.
2021-11-05 19:50:29 -07:00
Rerumu
96b1707f87
Fix CLI analysis reporting wrong file names ( #146 )
2021-11-05 19:11:56 -07:00
Roni N. (Kittenz)
1e1d1f58e9
Look for `.luau` before `.lua` in REPL & Analyze ( #97 ) ( #124 )
...
As discussed in the issue, Luau has evolved from Lua to the point
where a new default extension `.luau` would be needed.
This change makes the REPL and Analyze look for `.luau`
extension first and if not found, fall back to `.lua`.
2021-11-05 19:11:26 -07:00
Rerumu
6342913533
Fix small assert ordering ( #143 )
2021-11-05 14:38:08 -07:00
bmcq-0
ad9b47b72f
Fold length operations when argument is a constant string ( #141 )
...
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-05 13:24:30 -07:00
Arseny Kapoulkine
a80fc93646
Fix unused variable treatment ( #139 )
...
Right now our CMake infra specifies -Wno-unused only for GCC builds, but Makefile specifies it for all builds.
The intent has been to use it just for GCC, so we now do that by detecting the compiler version - this should
equalize the behavior across different types of builds.
Separately, latest version of clang appears to expose an unused variable that clang-10 was okay with, so fix that. (change from upstream)
2021-11-05 12:39:27 -07:00
Arseny Kapoulkine
aea1f6a718
Update README.md
...
Add `make` commandline as well.
2021-11-05 10:16:28 -07:00
Arseny Kapoulkine
279855df91
Sync to upstream/release/503 ( #135 )
...
- A series of major optimizations to type checking performance on complex
programs/types (up to two orders of magnitude speedup for programs
involving huge tagged unions)
- Fix a few issues encountered by UBSAN (and maybe fix s390x builds)
- Fix gcc-11 test builds
- Fix a rare corner case where luau_load wouldn't wake inactive threads
which could result in a use-after-free due to GC
- Fix CLI crash when error object that's not a string escapes to top level
- Fix Makefile suffixes on macOS
Co-authored-by: Rodactor <rodactor@roblox.com>
2021-11-05 08:47:21 -07:00
Arseny Kapoulkine
c0b95b8961
Update profile.md
...
Too much future.
2021-11-04 23:24:39 -07:00
Arseny Kapoulkine
49b0c59eec
Sync to upstream/release/502 ( #134 )
...
Changes:
- Support for time tracing for analysis/compiler (not currently exposed
through CLI)
- Support for type pack arguments in type aliases (#83 )
- Basic support for require(path) in luau-analyze
- Add a lint warning for table.move with 0 index as part of
TableOperation lint
- Remove last STL dependency from Luau.VM
- Minor VS2022 performance tuning
Co-authored-by: Rodactor <rodactor@roblox.com>
2021-11-04 19:34:35 -07:00
Arseny Kapoulkine
adacdcdf4e
Update profile.md
...
Remove incorrect sentence copied from the incorrect internal documentation :)
2021-11-04 18:07:34 -07:00
Arseny Kapoulkine
dc509b9849
Update navigation.yml
...
Add profiling page to nav bar
2021-11-04 17:28:24 -07:00
Arseny Kapoulkine
7c76a5a70a
Create profile.md
...
Add profiler documentation.
2021-11-04 17:27:56 -07:00
Arseny Kapoulkine
e0c4f33217
Add chess-profile.lua
2021-11-04 17:22:04 -07:00
Arseny Kapoulkine
98fa75e911
Fix fallout from #114 : T is the right thread to use
2021-11-04 10:09:25 -07:00
Josh Soref
278e848cc2
Spelling ( #119 )
...
Fixed various spelling errors.
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2021-11-04 09:50:46 -05:00
Tommy Vadakumchery
57a42c4cb9
Fix HATRA '21 README.md formatting ( #118 )
...
A misplaced backtick was causing the last two codeblocks from displaying correctly.
2021-11-04 09:00:41 -05:00
Arseny Kapoulkine
3462a08d4a
Update CONTRIBUTING.md
...
Add a section on performance.
2021-11-03 22:08:23 -07:00
Arseny Kapoulkine
1f0084daa3
Mark RFCs that were implemented as such.
2021-11-03 21:35:25 -07:00
Valts Liepiņš
344d37f0b1
Fixes incorrect MismatchedCount error message when returning ( #103 )
2021-11-03 21:23:20 -07:00
Grant Hernandez
e3f8c25e9e
Fix CLI abort when non lua string passed to error ( #114 )
2021-11-03 21:17:07 -07:00
Arseny Kapoulkine
733ae0498d
Update index.md
...
Cleanup text and remove extra buttons and redundant links
2021-11-03 19:10:49 -07:00
Peter van Dijk
3f0eb426c9
cmake --target takes one argument, not two ( #105 )
...
Adjust README so that we can work with CMake versions before 3.15
2021-11-03 14:37:15 -07:00
Arseny Kapoulkine
06e79462d0
Update index.md
...
Remove incorrect text about Luau being Roblox only.
2021-11-03 14:27:42 -07:00
Amber's Careware
eed3c8c38f
Update config-luaurc.md ( #104 )
...
When running `luau-analyze` with a .luarc that has a "mode" key, it outputs the following:
> .luaurc: Unknown key mode
I'm assuming it was named "mode" at first and was re-named "languageMode" later on?
2021-11-03 13:15:51 -07:00
Arseny Kapoulkine
2f7e1a2395
Update CI scripts to ignore .md changes ( #100 )
...
This reduces the load on GHA infra
2021-11-03 12:30:30 -07:00
Arseny Kapoulkine
e34586b847
Update sandbox.md
...
Soften the language around Rust
2021-11-03 12:30:07 -07:00
Arseny Kapoulkine
05a41d5d54
Remove team restriction from RFC process documentation
...
Fixes #98
2021-11-03 12:13:42 -07:00
Pelanyo Kamara
5a18006056
Update README.md ( #99 )
...
Update README.md to highlight CPP code snippet.
2021-11-03 12:12:14 -07:00
Arseny Kapoulkine
dc83543f3b
Update 2021-11-03-luau-goes-open-source.md
...
Fix links in the announcement
2021-11-03 10:28:01 -07:00
Arseny Kapoulkine
fa46d35b8d
Merge branch 'upstream'
2021-11-03 10:20:08 -07:00
Arseny Kapoulkine
46110524ef
Sync to upstream/release/501 ( #20 )
...
Co-authored-by: Rodactor <rodactor@roblox.com>
2021-11-03 10:15:50 -07:00
Arseny Kapoulkine
e997a4cc57
Update index.md
...
Fix overlay header - image is not optional :(
2021-11-03 09:43:20 -07:00
Arseny Kapoulkine
cba635f71b
Update LICENSE.txt
...
Add PUC-Rio copyright here as well for ease of distribution; now we don't need lua_LICENSE and might remove it in the future.
2021-11-03 09:41:30 -07:00
Arseny Kapoulkine
36110e0f29
Update issue template config
...
Fix discussion link
2021-11-03 09:40:08 -07:00
Arseny Kapoulkine
586bef6a4c
Add open-source announcement 🎉
2021-11-02 15:50:57 -07:00
Arseny Kapoulkine
dd46710280
Update index.md
...
Remove language about Roblox since it suggests the thought that Luau is Roblox specific.
2021-11-02 15:50:57 -07:00
Arseny Kapoulkine
8f901671e0
Add coverage badge
2021-11-02 15:50:57 -07:00
Arseny Kapoulkine
7f3c033162
Add Coveralls integration
...
Build and upload lcov-compatible coverage file to coveralls
2021-11-02 15:50:57 -07:00
Arseny Kapoulkine
0ded24c2d5
Switch to releases for build artifacts
2021-11-01 14:52:34 -07:00
Arseny Kapoulkine
d01addc625
Sync to upstream/release/501 ( #20 )
...
Co-authored-by: Rodactor <rodactor@roblox.com>
2021-11-01 14:52:34 -07:00
Arseny Kapoulkine
12b2838de0
Update .gitignore to match upstream
2021-11-01 14:52:34 -07:00
Arseny Kapoulkine
650dd30062
Update getting-started and why for open source release
2021-11-01 14:52:34 -07:00
Arseny Kapoulkine
4d168c3543
Add CONTRIBUTING.md and replace README.md
...
Also add SVG logo to docs/
2021-11-01 14:52:34 -07:00
Arseny Kapoulkine
ca965d94ee
Add build scaffolding for GHA and issue templates for GH
2021-11-01 14:52:34 -07:00
Arseny Kapoulkine
33cb9d5991
Update performance.md ( #94 )
...
Add documentation on shorter atomic pauses
Co-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>
2021-11-01 12:08:01 -07:00
vegorov-rbx
e562596bb8
Luau Recap: October 2021 ( #92 )
...
* Draft for October post
* Rebuild pages
* Apply suggestions from code review
Co-authored-by: dcope-rbx <91100513+dcope-rbx@users.noreply.github.com>
* Update 2021-10-31-luau-recap-october-2021.md
Add optimizations
* Remove unfinished section
Co-authored-by: dcope-rbx <91100513+dcope-rbx@users.noreply.github.com>
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-10-29 11:37:43 -07:00
dcope-rbx
c1654e34eb
Fixed doc issue that was unaddressed in a previous code review ( #93 )
2021-10-29 09:48:58 -07:00
dcope-rbx
1b38e3c8f8
Added syntax documentation for if expressions ( #91 )
...
* Added syntax documentation for if expressions
2021-10-28 13:44:04 -07:00
vegorov-rbx
0fd38fd765
RFC: Type alias type packs ( #83 )
2021-10-27 11:53:45 -07:00