ringabout
4867931af3
implement legacy:jsNoLambdaLifting for compatibility ( #23727 )
2024-06-17 19:06:38 +02:00
ringabout
5d2a712b0e
[JS backend] improve discard statement; ridding of the awkward special variable _ ( #23498 )
...
According to
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/Expression_statement ,
some expression statements need parentheses to make it unambiguous. `_`
introduced in the https://github.com/nim-lang/Nim/pull/15789 is
unnecessary. We can get rid of it by adding parentheses so that object
literals are not ambiguous with block statements.
2024-04-13 16:30:57 +02:00
ringabout
779bc8474b
fixes #4299 #12492 #10849 ; lambda lifting for JS backend ( #23484 )
...
fixes #4299
fixes #12492
fixes #10849
It binds `function` with `env`: `function.bind(:env)` to ease codegen
for now
2024-04-11 09:14:56 +02:00
metagn
03f267c801
make jsffi properly gensym ( #22539 )
...
fixes #21208
2023-08-23 19:25:26 +02:00
metagn
6d8cf25bd7
deprecate do: meaning do (): + misc cleanup ( #20927 )
...
* test disable do: block lambda lifting
* fix last test [skip ci]
* deprecate `do:` meaning `do ():` + misc cleanup
closes https://github.com/nim-lang/RFCs/issues/486
* oops
* fix
* no idea what could be causing nimsuggest failure other than this
* ensure ci works
2022-12-06 09:44:26 +01:00
Timothee Cour
18e14f5920
js: improve tests + some docs ( #16727 )
...
* js: improve tests
* _
* _
* _
* fixup
2021-01-16 12:08:40 +01:00
flywind
70a1c42542
add ** to jsffi ( #16141 )
...
* fix rope index
* add testcase
* fix ropes format
* add `**` to jsffi
* add testcase
* changelog
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-11-26 20:30:19 +01:00
Arne Döring
38ab51c445
importjs symbol ( #12218 )
...
* importjs symbol
* importjs warning message, minor warning fixes
2019-09-20 20:26:30 +02:00
Alexander Ivanov
aadbdd6b06
Support undefined in isNil ( #9960 )
2018-12-30 02:48:37 +01:00
Alexander Ivanov
88d707cb88
Support only some types as JsAssoc types ( #8627 )
2018-11-23 15:05:15 +01:00
LemonBoy
1a60ffcf1d
Correctly mangle this in the JS backend ( #8853 )
...
As shown in pragmagic/karax#67 using `this` as parameter name made the
codegen output wrong code (and the user didn't notice the errors in the
browser console).
2018-09-03 17:51:30 +02:00
Andreas Rumpf
9f31096870
make JS tests green
2018-08-13 12:51:31 +02:00
Zahary Karadjov
7ad115f530
Restore the old behavior of parsing "quote do:"
...
close #5845
2017-08-19 08:57:43 +02:00
Zahary Karadjov
03770daba4
allow StmtLists to pass through semExprWithType
...
This fix was necessary in order to fix the lambda lifting used in
the "jsffi" module, which relies on turning nkStmtList into nkLambda
in a catch-all dot operator.
2017-04-11 02:22:13 +03:00
Zahary Karadjov
a3f19c87fb
lift parameter-less do block to lambdas
2017-04-10 23:58:05 +03:00
Zahary Karadjov
48a1a54d1c
improve the usability of the jsffi module
...
* All JavaScript operators are usable with JsObject
* The dot operators will use native JavaScript strings
* Results returned from dot calls are consired discardable
2017-04-09 23:04:55 +03:00
Michael Jendrusch
536015ee7b
Implement RFC #4873 improvements to JavaScript FFI ( #5213 )
2017-01-26 00:07:30 +01:00