211 reputation
14
bio website
location San Francisco, CA
age 44
visits member for 2 years, 2 months
seen Oct 21 at 4:26

(my about me is currently blank)


Sep
24
awarded  Autobiographer
Oct
3
awarded  Yearling
Jan
8
comment What are the challenges related to typing in writing a compiler for a dynamically typed language?
It's worth noting that other people have argued that building dynamic typing into the platform is the right answer here. Microsoft put a lot of money into DLR for exactly this reason—and NeXT/Apple has been half-way on that bandwagon for decades. That doesn't help CPython, but IronPython proves that you can effectively statically compile Python, and PyPy proves that you don't have to.
Jan
8
comment What are the challenges related to typing in writing a compiler for a dynamically typed language?
One of the Unladen Swallow authors, Reid Kleckner, posted an Unladen Swallow Retrospective, which may be worth reading in this context, although really it's more about management and sponsorship challenges than technical ones.
Jan
8
comment What are the challenges related to typing in writing a compiler for a dynamically typed language?
Unladen Swallow wasn't about static compilation or static types; the eventual going was effectively to port the CPython interpreter, with all its dynamic-ness, to LLVM, with a fancy new JIT (kind of like Parrot, or DLR for .NET… or PyPy, really), although what they actually ended up doing was find a lot of local optimizations within CPython (some of which made it into mainline 3.x). Shedskin is probably the project you're thinking of that used static type inference to statically compile Python (although to C++, not directly to native code).
Oct
5
awarded  Nice Answer
Oct
3
comment What functionality does dynamic typing allow?
That function could be described as returning type MyClass | list | int. Whether that's a useful type or not is another question, but it's closely related to the question of whether this is a useful function, and of how it's used.
Oct
3
awarded  Teacher
Oct
3
comment What functionality does dynamic typing allow?
OK, my answer wasn't clear enough; thanks. That JSValue is an explicit definition of a dynamic type, exactly what I was talking about. It's those dynamic types that are useful, not languages that require dynamic typing. However, it's still relevant that dynamic types cannot be automatically generated by any real type inference system, while most of the common examples people are trivially inferrable. I hope the new version explains it better.
Oct
3
awarded  Editor
Oct
3
revised What functionality does dynamic typing allow?
added 782 characters in body
Oct
3
answered What functionality does dynamic typing allow?