Commit Graph

168 Commits

Author SHA1 Message Date
HomerMcMillan
41d73c49a1 Merge branch 'master' into range-builtin 2019-02-04 15:14:43 -05:00
Homer McMillan
64bd33e787 Add built in range type (addresses #294) 2019-02-04 15:08:13 -05:00
Windel Bouwman
b7f6db753f Merge branch 'master' into fix-unicode-handling 2019-02-04 08:39:21 +01:00
Windel Bouwman
caac5a34d5 Merge branch 'master' into tuple_add 2019-02-04 08:05:07 +01:00
Windel Bouwman
44e9658f52 Merge pull request #297 from HomerMcMillan/issue_295
Fix panic on out of bounds negative index (addresses #295)
2019-02-04 07:48:17 +01:00
Windel Bouwman
235aa864f4 Merge pull request #296 from agude/int_conj
Add .conjugate() method to int type
2019-02-04 07:43:13 +01:00
holygits
33a3ec8832 Handle unicode string slicing with graphemes 2019-02-04 15:40:30 +13:00
Homer McMillan
055e577424 Fix panic on out of bounds negative index (addresses #295)
Also an out of bounds index now raises an IndexError rather than a ValueError
2019-02-03 16:38:04 -05:00
Alexander Gude
33523d492c Change int.conjugate() to return a new int
This results in the correct behavior (that is, matching CPython) for
both int and bool types.

Also adding a bool conjugate test.
2019-02-03 13:31:09 -08:00
Alexander Gude
a95747f161 Add .conjugate() method to int type
Also add tests for for the int type, and a commented out one for the
bool type.
2019-02-03 11:18:23 -08:00
Homer McMillan
353d881bac Fix missing seq_mul import 2019-02-03 11:33:11 -05:00
HomerMcMillan
168e0e5471 Merge branch 'master' into list-orderable-ops 2019-02-03 11:17:09 -05:00
Windel Bouwman
a7d011f9c7 Merge pull request #270 from ZapAnton/str_isdecimal
Added the isdecimal method to the 'str' class
2019-02-03 15:37:20 +01:00
Windel Bouwman
ac0ea87ead Merge pull request #271 from holygits/bitshift
Implement `__rshift__` and `__lshift__` for integer type
2019-02-03 15:35:50 +01:00
Windel Bouwman
1d7149e131 Merge pull request #280 from HomerMcMillan/list-pop
Add list.pop
2019-02-03 11:49:01 +01:00
Homer McMillan
7b27fbf369 Add list.pop
Also include IndexError in the __builtin__ module.
2019-02-03 00:49:52 -05:00
Homer McMillan
8852435a3d Run cargo fmt 2019-02-02 23:05:32 -05:00
Homer McMillan
ea1a7bb395 Add list.{__lt__, __gt__, __le__, __ge__} 2019-02-02 22:04:26 -05:00
ben
8f9b733a77 Add tuple.__mul__ 2019-02-03 13:59:43 +13:00
holygits
e8d1e10226 Implement __rshift__ and __lshift__ for integer 2019-02-03 12:38:38 +13:00
ZapAnton
46b939721f str: Added the isdecimal method 2019-02-03 01:51:47 +03:00
ben
b13b4741ad Add tuple.__add__. Also stop rustfmt from trying to format generated parser. 2019-02-02 17:40:17 +13:00
Windel Bouwman
892493e464 Rename PyObjectKind into PyObjectPayload 2019-01-30 18:06:27 +01:00
Windel Bouwman
31523fe4d7 Merge pull request #265 from rmliddle/implement-io
File-IO: IO Module and Open Builtin
2019-01-29 20:43:28 +01:00
rmliddle
deb0688a99 Changed buffer imp. to use type + removed ByteArray Kind 2019-01-29 18:40:40 +11:00
Windel Bouwman
d627230434 Merge pull request #263 from coolreader18/string-str
Remove unnecessary to_string conversions
2019-01-28 20:38:54 +01:00
rmliddle
7b23d0e917 rust fmt 2019-01-28 18:54:50 +11:00
rmliddle
9a86bbd718 ByteArray Usage 2019-01-28 18:30:19 +11:00
coolreader18
989357fe81 Fix warnings from using trim_left and trim_right 2019-01-27 23:02:27 -06:00
coolreader18
5ecff1b37e Remove unnecessary to_string conversions 2019-01-27 21:45:21 -06:00
Shing Lyu
5e8eb8a001 Added list.index() 2019-01-10 22:01:42 +01:00
rmliddle
5e1324fd23 os modes 2019-01-09 20:56:08 +11:00
rmliddle
15d0c39c81 fixes to bytearray len 2019-01-04 19:34:28 +11:00
rmliddle
cbd8d7b171 len attributes on byte types 2019-01-03 08:16:04 +11:00
Windel Bouwman
a28b665396 Merge pull request #246 from rmliddle/bytes-representation
Bytes representation changed from hex to utf-8
2019-01-02 22:07:21 +01:00
rmliddle
3d6742a9e8 change to bytes repr 2019-01-02 21:25:48 +11:00
rmliddle
08a9fd9819 memoryview object, FileIO Methods 2019-01-01 23:39:21 +11:00
AgentMacklin
79a3b13252 Implement most of the string methods. (#239)
* implemented more functions

* backup

* Improve demo site

* Formatting; move the `+ '\n'` hack to eval().

* Rename run_code() to run_from_textbox()

* Switch to using json.dumps for py_to_js()

* Clarify names of wasm builtins

* Remove dependency on num_bigint

* Allow injecting JS variables into python with eval_py()

eval_py(`return js_vars["a"]`, { a: 9 }) == 9

* dict() now should work properly

e.g.
``` dict(a=2, b=3) == {"a": 2, "b": 3} ```

* 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.

* Finish revamping `dict_new()`

* Add 'from x import *' syntax.

This is a separate opcode in CPython so I added it as such here.

* Add test for dicts

* added functions

* ran rustfmt and fixed isidentifier

* fixed zfill and make_title

* python3.6 doesn't contain isascii()
2018-12-27 20:22:04 +01:00
coolreader18
80573b0544 Format PyObject's correctly and nicely 2018-12-26 18:09:49 -06: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
f1784236af Finish revamping dict_new() 2018-12-21 23:35:45 -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
Gitea
a6288acd22 Cargo format. 2018-12-16 15:48:59 -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
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