Commit Graph

80 Commits

Author SHA1 Message Date
K. Lange
900e8fb487 Invert debugging-related build flags 2021-04-12 12:05:35 +09:00
K. Lange
2e378eca19 Update README for removed build flags 2021-04-12 11:52:26 +09:00
K Lange
ea443f11df Update README section on async/await 2021-04-01 20:53:47 +09:00
K. Lange
b1b4ad3718 Fix heading link for Python Compatibility 2021-03-21 11:30:09 +09:00
K Lange
982554d1d7
New README 2021-03-20 16:07:36 +09:00
K. Lange
fe9af7c274 cmd.exe actually does work with the Windows build 2021-02-09 19:11:35 +09:00
K. Lange
6f95124bcd Threading
Don't be deceived by its size: this commit is mostly a bunch of
sed replacements to move thread state out of "vm" and introduce
a thread-local "KrkThreadState" object to hold stack pointers and
call frames for individual threads.

Threading support is incomplete and there's almost definitely a
bunch of really easy ways to break everything just by allocating
objects, but really simple stuff like carefully modifying a
a list of ints should work okay.

The README has been rewritten to remove code samples, which have
moved to the Wiki (as has the section on integrating with C).

Some other stuff has also moved around because the threading changes
necessitated a major API break anyway, so I also took the time to
fix some ABI issues.
2021-02-09 18:51:09 +09:00
K. Lange
8d14b24218 Rephrase some things in README 2021-02-08 17:36:18 +09:00
K. Lange
90b219cdce Eliminate builtins.krk 2021-02-05 17:22:08 +09:00
K. Lange
a39347d829 argc should not include the kwargs dict in native function calls 2021-01-26 08:11:18 +09:00
K. Lange
50e4902170 Hacky implementation of @staticmethod, @property, mb even @classmethod 2021-01-23 19:38:45 +09:00
K. Lange
e510deaf7f Get rid of KrkInstance->_internal and just let C stuff extend KrkInstance 2021-01-22 15:12:19 +09:00
K. Lange
b3bc879c8c github's markdown parser doesn't like that 2021-01-21 08:18:44 +09:00
K. Lange
6cf0efed5d README typos 2021-01-21 08:17:37 +09:00
K. Lange
895eb367ee Support comprehensions for dicts, tuples. 2021-01-19 21:06:52 +09:00
K Lange
a9b04cceb2 Experimental Windows support 2021-01-19 12:52:22 +09:00
K. Lange
7c230c3d12 Fixes 2021-01-18 20:45:07 +09:00
K. Lange
abfaa50bee Implement module packages 2021-01-17 22:01:58 +09:00
K. Lange
014b8bcee1 Add note about WASM builds to readme 2021-01-16 18:30:53 +09:00
K. Lange
13bbc3ae2d Change 'let' semantics to do unpacking; support unpacking more things 2021-01-14 21:16:48 +09:00
K. Lange
63ba9cbced More readme cleanup on strings 2021-01-13 07:57:16 +09:00
K. Lange
a6432e476b missing close paren 2021-01-13 07:39:24 +09:00
K. Lange
5f0f7ea0b1 Some notes on Unicode 2021-01-13 07:36:46 +09:00
K. Lange
11cb36b751 README cleanup 2021-01-12 22:19:13 +09:00
K. Lange
de71ada519 More mentions of unicode stuff 2021-01-12 19:44:18 +09:00
K. Lange
10f3c16e40 Major overhaul of strings to support Unicode 2021-01-12 19:23:14 +09:00
K. Lange
6ebe859ad7 More typo cleanup 2021-01-11 22:35:55 +09:00
K. Lange
6ef5c980af typo 2021-01-11 22:09:59 +09:00
K. Lange
e237120d7d typo 2021-01-11 22:06:00 +09:00
K. Lange
ba53e5edac Mention class fields in API docs 2021-01-11 16:38:56 +09:00
K. Lange
eb27158173 Class fields and access to class member methods 2021-01-11 16:31:34 +09:00
K. Lange
faba2e9e3f Decorators don't need inner wrappers, of course 2021-01-11 07:55:31 +09:00
K. Lange
393c3be0b6 Remove confusing line about decorator arguments 2021-01-11 07:47:58 +09:00
K. Lange
7c4080c417 '... when they are used...' 2021-01-11 07:45:48 +09:00
K. Lange
36d0db27e8 Fix nested exception example 2021-01-11 07:41:32 +09:00
K. Lange
ed9234e707 '... after an exception...' 2021-01-11 07:39:34 +09:00
K. Lange
48da930acd Typos 2021-01-11 07:03:09 +09:00
K. Lange
ff7dcbb92a Support 'return' from within a 'with' block 2021-01-10 23:39:05 +09:00
K. Lange
35570e7ee9 Support complex argument expansion in C functions 2021-01-10 18:49:52 +09:00
K. Lange
30cbeeb85e A bunch more README cleanups 2021-01-10 14:27:39 +09:00
K. Lange
a0920999b6 Try to better explain closures? I'm not great at this. 2021-01-10 13:23:02 +09:00
K. Lange
512b8fd408 More notes on default args, lambda expressions, move variables 2021-01-10 13:15:47 +09:00
K. Lange
72cd8e39b3 Make sure C module implementers know to call krk_finalizeClass 2021-01-10 12:52:20 +09:00
K. Lange
98fea9bb64 print() should __str__, not __repr__; repl should __repr__, not printValue...
printValue() probably shouldn't exist... and that's about it.
2021-01-10 12:42:24 +09:00
K. Lange
01176579f6 Exceptions were made into special objects over a week ago 2021-01-10 12:00:26 +09:00
K. Lange
21477f7c86 Minor readme rewording 2021-01-10 11:08:34 +09:00
K. Lange
52427a5147 Add a basic 'with' statement
This is incomplete; it's missing the necessary plumbing to ensure __exit__
still gets called if the inner block returns or raises an exception. TODO
2021-01-09 12:46:59 +09:00
K. Lange
656942f612 Cleanup and useful builtins 2021-01-09 10:12:50 +09:00
K. Lange
2b6840b07d Add logo? 2021-01-08 23:12:16 +09:00
K. Lange
0599ad0775 Replace Makefile.static with a complicated combination of config options 2021-01-08 20:26:29 +09:00