coolreader18
0ac0432a53
Run cargo fmt
2018-12-26 18:23:40 -06:00
coolreader18
80573b0544
Format PyObject's correctly and nicely
2018-12-26 18:09:49 -06:00
coolreader18
d1a584f0fd
Don't allocate a new string for each new type for the ExceptionZoo
2018-12-26 14:19:19 -06:00
coolreader18
a77b7e0ce4
Have json.* throw an exception instead of panicking
2018-12-26 14:18:15 -06:00
coolreader18
c38796bb49
Add some documentation for functions on the demo site
2018-12-26 13:25:56 -06:00
coolreader18
94d6a91873
Fix js_to_py with JS undefined
2018-12-26 13:21:29 -06:00
coolreader18
e0959b9384
Implement error conversion for js_to_py
2018-12-26 11:21:45 -06:00
coolreader18
132930ec82
Allow passing closures from JS to python via vars
2018-12-26 01:59:15 -06:00
coolreader18
63b3f3e71b
Fix blanket impl of RustPyFunc
2018-12-24 15:51:54 -06:00
coolreader18
d1d958516d
Change the instances of Fn(..) -> PyResult to a RustPyFunc trait alias
2018-12-24 15:45:45 -06:00
coolreader18
ffcd40b435
Remove conflicting files
2018-12-24 15:35:50 -06:00
coolreader18
24507de3b1
Re-add conflicting files
2018-12-24 15:34:52 -06:00
coolreader18
ab23f2c940
Use str.format for the demo
2018-12-24 15:28:49 -06:00
coolreader18
840c5072fb
Improve UX for demo
2018-12-24 15:28:49 -06:00
coolreader18
d54d2b1c03
Make scripts executable
2018-12-24 15:28:49 -06:00
coolreader18
2ea9dca40c
Add example, change some stuff in the demo to align with example
2018-12-24 15:28:49 -06:00
coolreader18
ca30ebcf5d
Genericize the wasm lib to not be specifically for the demo
...
This included changing RustObjectKind::RustFunction.function to be
a `Box<Fn()>` instead of a `fn()` to support closures.
2018-12-24 15:28:49 -06:00
coolreader18
4c32693c7b
Switch to using one workspace, move profile to root Cargo.toml
2018-12-24 15:28:49 -06:00
Windel Bouwman
946df53077
Merge pull request #237 from johndaniels/add-star-import
...
Add 'from x import *' syntax.
2018-12-23 17:55:34 +01:00
Gitea
ac3da8b453
Add 'from x import *' syntax.
...
This is a separate opcode in CPython so I added it as such here.
2018-12-22 22:40:02 -05:00
Windel Bouwman
366f3e2b13
Merge pull request #236 from coolreader18/proper-dict
...
Make `dict()` work like it does in cpython
2018-12-22 16:05:31 +01:00
coolreader18
427ce4347e
Add test for dicts
2018-12-22 00:04:13 -06:00
coolreader18
f1784236af
Finish revamping dict_new()
2018-12-21 23:35:45 -06:00
Shing Lyu
71ba5019bf
Merge pull request #230 from coolreader18/master
...
Improve wasm demo website
2018-12-21 16:22:34 +01:00
coolreader18
e77f223538
Add documentation for eval_py() and update error message handling
...
Also, switch from iterating over the values of js_injections and
serializing each of them individually to asserting it's an object and
then just stringifying the whole thing.
2018-12-18 19:03:04 -06:00
coolreader18
03c619f79e
Rearrange website directory and change webpack config
2018-12-18 18:22:30 -06:00
coolreader18
bdc80dc75b
dict() now should work properly
...
e.g.
``` dict(a=2, b=3) == {"a": 2, "b": 3} ```
2018-12-18 01:34:00 -06:00
Windel Bouwman
950dbd1a77
Use new_list when constructing multiplied list.
2018-12-17 12:14:29 +01:00
Windel Bouwman
bbe333d6c7
Merge pull request #233 from rossjones/232-impl-mul-for-list
...
Implements __mul__ for lists
2018-12-17 11:55:44 +01:00
Windel Bouwman
8aaadb16c0
Merge pull request #234 from johndaniels/indentation
...
Handle mixed spaces and tabs.
2018-12-17 11:55:20 +01:00
Windel Bouwman
1b13b0c4e2
Merge pull request #231 from johndaniels/format
...
Add format builtin and String formatting stuff.
2018-12-17 11:50:14 +01:00
Gitea
9468b657d2
Run cargo fmt.
2018-12-16 17:40:25 -05:00
Gitea
c74cd90d8e
Handle mixed spaces and tabs.
...
This allows the parser to handle tabs and spaces. Currently it
requires that spaces come after any tabs, which is slightly more
strict than python3. It also requires that neighboring indentation
levels have either both more spaces and tabs or less spaces and
tabs so that tab size can't make perception of indentation
differ from what the parser interprets.
I didn't opt to implement PartialOrd on IndentationLevel because I
wasn't sure that the comparison logic would meet the logical
requirements for that trait. One could easily switch to having it
implement PartialOrd though. This would necessitate switching to
manually implementing PartialEq so that it's behavior 'matches'.
It's unclear from the docs what 'matches' exactly means so for
now I'm avoiding implementing the traits.
2018-12-16 17:11:37 -05:00
Gitea
95d4073dd8
Add newline to end of file.
...
The parser currently doesn't handle missing newline gracefully.
2018-12-16 16:21:40 -05:00
Gitea
a6288acd22
Cargo format.
2018-12-16 15:48:59 -05:00
Gitea
bbe4844f6c
Fix snippet to not use tab.
...
We should add support for '\t', but that should probably be a separate ticket.
2018-12-16 15:43:07 -05:00
Ross Jones
ae2f7ed1cb
Implements __mul__ for lists
...
Implements __mul__ for lists so that it is possible to do things like
```
s = [1, 2,] * 3
s == [1, 2, 1, 2, 1, 2]
```
2018-12-16 12:22:31 +00:00
Gitea
b726e675ff
Add format builtin and String formatting stuff.
...
This includes everything needed to call str.format with integers
as positional and keyword parameters.
2018-12-15 19:46:09 -05:00
coolreader18
a796b134a5
Allow injecting JS variables into python with eval_py()
...
eval_py(`return js_vars["a"]`, { a: 9 }) == 9
2018-12-15 12:20:03 -06:00
coolreader18
e78a25132e
Remove dependency on num_bigint
2018-12-15 11:38:08 -06:00
coolreader18
3be6fee737
Clarify names of wasm builtins
2018-12-15 11:36:53 -06:00
coolreader18
921efd4d14
Switch to using json.dumps for py_to_js()
2018-12-15 11:33:37 -06:00
coolreader18
2ae1df590e
Rename run_code() to run_from_textbox()
2018-12-15 01:41:25 -06:00
coolreader18
f8cce25f69
Formatting; move the + '\n' hack to eval().
2018-12-15 01:31:44 -06:00
coolreader18
b428f2e3b3
Improve demo site
2018-12-15 00:49:47 -06:00
Windel Bouwman
62c53d8e5d
Try to make it simpler to switch dict storage types.
2018-12-13 20:38:09 +01:00
Windel Bouwman
521f664e16
Merge pull request #229 from AgentMacklin/master
...
Added some of the missing str methods
2018-12-13 20:31:45 +01:00
Austen LeBeau
7ac22d96d1
update and added more functions
2018-12-13 12:02:18 -06:00
Windel Bouwman
a29e882bc1
Store dict key as pyobject into hashmap.
2018-12-13 17:05:01 +01:00
Windel Bouwman
e657633e51
Move set_item to context struct.
2018-12-12 22:27:28 +01:00