Live data from Hacker News

Make a Lisp in Nim

hookrace.net

21–30 of 48 posts

Re: Make a Lisp in Nim

#21
post #20

Earlier quoted context omitted.

That's a bummer, because until then, you'll be strongly mis-representing Rust :/

I'm quite happy to take PRs from an expert to address the issues and represent Rust better. :-) UPDATE: I will point out that the README is pretty clear that this is rust 0.13. Doesn't mean it's a good representation of rust 0.13 either of course, but it clearly isn't based on a recent version of Rust.

Wait, you are being sarcastic, right? You know that you're replying to Steve Klabnik, who is on the Rust core team?

Re: Make a Lisp in Nim

#22
post #10
post #5

Earlier quoted context omitted.

Yes, I updated it already.

Is the lua implementation very new and/or incomplete? It seems to be missing from the benchmarks, and if it's lua 5.1, maybe it'll work with luajit? [ed: Also interesting to note that the clojure version is much slower than scala/java. If nothing else, I guess it's an indication of performance gains that can be had by implementing parts of a clojure program in java (unless there's something off with the clojure imple…

I'm rather hesitant to post any sort of benchmarks (since the existing ones suck so bad), but the using these, the lua 5.1.5 equivalents would be: 1, 1, 293

Lua does seem to be an odd one in that the short tests run quickly but this does not translate into iterations for the longer 10 second test. Perhaps the mal implementation is triggering bad GC behavior or something and that drags down the longer running tests. That's just speculation though. Again, please take the numbers with a mountain size grain of salt.

Re: Make a Lisp in Nim

#23
post #21
post #20

Earlier quoted context omitted.

I'm quite happy to take PRs from an expert to address the issues and represent Rust better. :-) UPDATE: I will point out that the README is pretty clear that this is rust 0.13. Doesn't mean it's a good representation of rust 0.13 either of course, but it clearly isn't based on a recent version of Rust.

Wait, you are being sarcastic, right? You know that you're replying to Steve Klabnik, who is on the Rust core team?

[deleted]

Re: Make a Lisp in Nim

#24
post #21
post #20

Earlier quoted context omitted.

I'm quite happy to take PRs from an expert to address the issues and represent Rust better. :-) UPDATE: I will point out that the README is pretty clear that this is rust 0.13. Doesn't mean it's a good representation of rust 0.13 either of course, but it clearly isn't based on a recent version of Rust.

Wait, you are being sarcastic, right? You know that you're replying to Steve Klabnik, who is on the Rust core team?

Yes, it was intended to be somewhat in jest. "The expert" was a subtle (perhaps too subtle) acknowledgement of his role. Although, I am serious that if somebody with better Rust chops than I wants to fixup the code so that it represents Rust better, then I AM quite happy to pull those in and improve the implementation.

Re: Make a Lisp in Nim

#25
post #17

Earlier quoted context omitted.

Well, I'm not going to remove it. But I will see if I can find some time to improve it in the next few days. I've been meaning to cycle back around. Of course, fixes from somebody who's actually a Rust expert would have been preferred :-) The reason it still uses the alternate pcre is because this still hasn't been fixed: https://github.com/rust-lang/regex/issues/28 I would love to get rid of that nastiness.

That's a bummer, because until then, you'll be strongly mis-representing Rust :/

I hope that you are mis-representing Rust. I'd be pretty discouraged if I was learning a new language and one of the first interactions I had with a notable community member was a notice of take-down containing neither encouragement nor constructive criticism.

Re: Make a Lisp in Nim

#26
post #25

Earlier quoted context omitted.

That's a bummer, because until then, you'll be strongly mis-representing Rust :/

I hope that you are mis-representing Rust. I'd be pretty discouraged if I was learning a new language and one of the first interactions I had with a notable community member was a notice of take-down containing neither encouragement nor constructive criticism.

Klabnik is a big voice in the Rust community. But regardless of how he might come across here; he is almost always positive and constructive when talking about the language.

For that matter: the constructive part was in the other post where he suggested some improvements. I can understand if the pull request is seen as aggressive, though.

Re: Make a Lisp in Nim

#27
post #25

Earlier quoted context omitted.

That's a bummer, because until then, you'll be strongly mis-representing Rust :/

I hope that you are mis-representing Rust. I'd be pretty discouraged if I was learning a new language and one of the first interactions I had with a notable community member was a notice of take-down containing neither encouragement nor constructive criticism.

To be clear: I spent about half an hour working on updating things for head Rust. But when a language changes as much as Rust does, at some point, if you haven't kept up with it, it's basically impossible to update, it's simply easier to nuke it and start all over. This is why we have always recommended that people use the nightlies rather than the releases, because even upgrading per-point release is quite difficult. Not only that, since it's unclear which version of Rust this even compiles with, it's not as if I could install an old Rust and submit particular, concrete improvements for a Rust of that vintage. Starting over from scratch _is_ a concrete improvement, because it's the actual best path to moving forward in this particular case.

Have I mentioned how much I can't wait until 1.0.0 actually ships?

Re: Make a Lisp in Nim

#28
post #3

I had this idea as well (after seeing Make a Lisp on HN). Anything that you found challenging in porting the Python version to Nim?

It wasn't a direct port of the Python one. Instead I mostly followed the guide and looked at the Python code when something was unclear to me. Nim being statically typed meant I had to create many MalTypes instead of just using the built in Python ones. But nothing particularly challenging.

Now that I think about it, I could have used implicit converters to make it look more like Python, but that would probably lead to confusion.

Re: Make a Lisp in Nim

#29
post #17

Earlier quoted context omitted.

Well, I'm not going to remove it. But I will see if I can find some time to improve it in the next few days. I've been meaning to cycle back around. Of course, fixes from somebody who's actually a Rust expert would have been preferred :-) The reason it still uses the alternate pcre is because this still hasn't been fixed: https://github.com/rust-lang/regex/issues/28 I would love to get rid of that nastiness.

That's a bummer, because until then, you'll be strongly mis-representing Rust :/

So get your Rust buddies together and fix it or rewrite it in the new apparently totally different Rust that has come out since October.

Apparently this will require more than half an hour of one person's time.

Or maybe it will take a week? Until then we only have this one representation for this case study, and it is a 100% valid representation of the reality of Rust development and Rust code. The fact that you tried and failed to update it is further demonstration of that.

But you know, deep down, its still going to be relatively slow and massively verbose.

Re: Make a Lisp in Nim

#30
post #29

Earlier quoted context omitted.

That's a bummer, because until then, you'll be strongly mis-representing Rust :/

So get your Rust buddies together and fix it or rewrite it in the new apparently totally different Rust that has come out since October. Apparently this will require more than half an hour of one person's time. Or maybe it will take a week? Until then we only have this one representation for this case study, and it is a 100% valid representation of the reality of Rust development and Rust code. The fact that you trie…

> But you know, deep down, its still going to be relatively slow and massively verbose.

Why do you think it will be slow?

Post reply on HN