Hacker News new | past | comments | ask | show | jobs | submit login

Oh, man, that's a good question. I still really really like multimethods, but I ran out of steam on Magpie for a couple reasons:

1. Julia came out. It looks to me like a really nice language that is heavily based on multimethods, and is orders of magnitude more mature than Magpie. In many ways Julia fills the niche I was aiming for with Magpie and probably better than I could have.

2. I hit a dead end in the VM implementation. This is an amateur mistake on my part, and obvious in retrospect, but it turns out writing a VM in C++ with virtual methods and also using a moving GC is a Bad Thing. It means in the middle of a method, "this" could disappear out from under you. Once I realized that, I realized I'd need to significantly rework the entire VM to fix it. Oops.

3. I'm not a sophisticated enough VM hacker to implement multimethods efficiently. I might get there eventually, but getting Magpie to a state where it's fast enough to be usable for real programs is very likely beyond my skills, especially with my limited free time.

Wren was designed deliberately to be a language that I personally have the ability to design, implement, and ship. There's definitely something to be said for being more ambitious and trying to push one's own envelope, but I wanted Wren to be a think that I could make and get to something usable with a realistic amount of effort.




Have you looked closely at Julia, or are you just kind of aware of its existence? I've been learning it recently, and I'm actually quite impressed with its suitability as a general purpose programming language because of how much of the marketing is oriented toward scientific uses. I'm going through Crafting Interpreters and translating it into Julia (mostly so I'm sure I understand what I'm reading) and it's been somewhat interesting to not have to deal with the expression problem.


I'm slightly more than just aware of its existence — I've read a bunch of docs and seen some talks. But I haven't sat down and written any code myself yet.

> it's been somewhat interesting to not have to deal with the expression problem.

Yeah, I think it would be really fun to hack on a compiler in a language with multimethods.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: