Commit Graph

1092 Commits

Author SHA1 Message Date
K. Lange
7d409ebcbb Format spec support in f-strings 2022-07-10 16:11:12 +09:00
K. Lange
9230d4fee1 int.__format__, long.__format__ with as close to Python semantics as I can be bothered 2022-07-10 16:10:40 +09:00
K. Lange
d8a1861c23 format() and object.__format__() 2022-07-10 16:10:07 +09:00
K. Lange
f1c0af711e Cache __format__ method 2022-07-10 16:09:32 +09:00
K. Lange
f24cb336e7 Fixup SET_GLOBAL to use IfExists, no need for delete 2022-07-10 13:19:15 +09:00
K. Lange
9b5ce15bf7 Implement Python's identifier mangling 2022-07-10 13:13:27 +09:00
K. Lange
d00bdda104 Strings, too... 2022-07-09 21:55:08 +09:00
K. Lange
17a6aaf8d6 Fix parse error when 'if' ends on a class 2022-07-09 21:10:36 +09:00
K. Lange
95c6f17a21 Remove accidentally committed test file 2022-07-09 20:56:07 +09:00
K. Lange
6fa951a0bb Subclass cleanup must use exact key match to not call VM during GC sweep 2022-07-09 18:50:31 +09:00
K. Lange
ff23dbbc14 Update docs 2022-07-09 08:12:31 +09:00
K. Lange
c10a457242 Rudimentary __setattr__ support 2022-07-07 14:54:30 +09:00
K. Lange
cf98b93836 dict.__eq__ 2022-07-06 22:18:37 +09:00
K. Lange
ae99ce1058 set comparisons 2022-07-06 22:14:28 +09:00
K. Lange
ff19144201 Even more correct sequence comparisons... 2022-07-06 22:07:42 +09:00
K. Lange
6d59ddb4cd 'inline' on krk_valuesEqual does nothing 2022-07-06 21:53:55 +09:00
K. Lange
c9b989cb56 Add test for __set_name__ 2022-07-06 21:43:15 +09:00
K. Lange
2d8de139b3 More fixes to tuple comparisons; port to lists 2022-07-06 21:25:59 +09:00
K. Lange
d6018001ba list and tuple stuff should use SameOrEqual not just Equal 2022-07-06 20:18:19 +09:00
K. Lange
92d8d0e200 Cleanup, simplify equality operation 2022-07-06 20:16:20 +09:00
K. Lange
17772c74ef unary + (__pos__) 2022-07-06 15:37:38 +09:00
K. Lange
ed52b72ae8 operator @ (__matmul__) 2022-07-06 15:37:38 +09:00
K. Lange
855d342a68 Support __set_name__ 2022-07-06 15:37:38 +09:00
K. Lange
388a649ec9 Perform identity checking before equality checking for table keys 2022-07-06 15:37:35 +09:00
K. Lange
c49a12effc Highlight krk sources as Python on gitlab mirror 2022-07-06 10:11:59 +09:00
K. Lange
af18b205a9 Better long printing 2022-07-06 07:04:57 +09:00
K. Lange
afc522a341 Replace KRK_METHOD, KRK_FUNC with nicer macros 2022-07-05 22:42:29 +09:00
K. Lange
25d5f88454 Clean up a bunch of potential type checking issues 2022-07-05 19:19:46 +09:00
K. Lange
7ff7c26fbd Standardize =,is,~,- a bit more; ELF 'protected' on operator functions 2022-07-05 18:49:29 +09:00
K. Lange
e95cc5d10b Break out collection builder opcodes into inlinable function 2022-07-05 18:48:20 +09:00
K. Lange
92378917b0 No reason for that callgrind stuff to be a big macro 2022-07-05 17:43:44 +09:00
K. Lange
ee1420cd35 Use krk_unpackIterable (and a temporary tuple) in OP_UNPACK 2022-07-05 14:45:47 +09:00
K. Lange
eabe6f9ecf Cleanup some exposed string functions we don't need 2022-07-05 13:30:06 +09:00
K. Lange
3cda8cf0da Replace macro unpackIterableFast with callback-driven function 2022-07-05 13:24:37 +09:00
K. Lange
ebe1b0276e Remove tupleOf builtin 2022-07-05 11:43:11 +09:00
K. Lange
19927ea13f Stop using tupleOf in codec tools 2022-07-05 11:42:57 +09:00
K. Lange
a429aa93dd tuple.__init__ should not call tupleOf 2022-07-05 11:42:25 +09:00
K. Lange
31509bcc3c Remove setOf, listOf, dictOf builtins (all unused) 2022-07-05 11:42:04 +09:00
K. Lange
87f6c316bd tuple.__add__(tuple) 2022-07-05 11:40:21 +09:00
K. Lange
8314e4c35d 'zip' as a class 2022-07-05 11:39:59 +09:00
K. Lange
5d77dec70e Set rpath in tools 2022-07-04 07:50:53 +09:00
K. Lange
fe4fd1af78 Retool more things to use utility macros 2022-07-03 23:54:30 +09:00
K. Lange
0ae051b65d Rewrite Exceptions using typechecking method macros 2022-07-03 23:20:21 +09:00
K. Lange
f86887b40a Elide : for zero-length Exception.__str__() 2022-07-03 23:20:00 +09:00
K. Lange
de0af11361 KeyError should repr instead of print because Python does that 2022-07-03 21:20:55 +09:00
K. Lange
8b6952dd04 Include module name when printing exception name 2022-07-03 21:20:36 +09:00
K. Lange
f38a451f19 Attach and build upon partial tracebacks
If an exception is raised within a 'try', attach a traceback only up
until that 'try'. If a re-raised exception has a traceback already,
attach the new traceback "above" the existing one.
2022-07-03 20:39:07 +09:00
K. Lange
85ad910f23 Attach __cause__, __context__ to exceptions; support 'raise ... from ...' 2022-07-03 19:50:00 +09:00
K. Lange
2d2691710c Exceptions with no argument should not set it to 'None' 2022-07-03 19:38:04 +09:00
K. Lange
3167888187 Restore frame pointer correctly on exit due to inner exception 2022-07-03 18:45:07 +09:00