Live data from Hacker News

Beautiful Racket

beautifulracket.com

21–30 of 55 posts

Re: Beautiful Racket

#21
post #4

This looks like a very well-written, easy introduction to making simple, dynamic programming languages (not surprising given the author's writing background). But everyone writes about how to build these kinds of basic Forths, or Lisps, or reverse polish notation calculators. To be honest, once you've learned the basic technique, writing a toy dynamic language interpreter is pretty easy. Even adding a toy JIT isn't v…

I belive this is trying to fill that niche: http://dev.stephendiehl.com/fun/

Re: Beautiful Racket

#22
post #5

Earlier quoted context omitted.

Not sure which part isn't clear. First, syntax objects are data, but with extra information, such as binding information, source location, etc. Second, the #' form (written out it's called `syntax`) is similar to the ' form (written out as `quote`). But the first one includes the extra information to make a syntax object. Also, it has an extra character, which the chapter points out can be seen as going along with th…

This is why I wish I could ask comments about books without going to Stack Overflow. Is there a publishing system that allows you to put up a work as it is being produced and solicit input from people on what they find unclear?

The book Real World Haskell was written using such a system. I don't know what system they used, though. It let you attach comments to a specific paragraph.

Re: Beautiful Racket

#23

> If a datum sounds like a syn­tax object, that’s no coin­ci­dence — a syn­tax object is just a datum with some extra infor­ma­tion attached. The #' pre­fix nota­tion we used for a syn­tax object now con­nects log­i­cally: we can think of the # as rep­re­sent­ing the extra info that gets attached to the datum This is not clear, can someone explain please?

This is the only time I've heard "datum" used outside the context of GIS.

Re: Beautiful Racket

#24
post #5

Earlier quoted context omitted.

Not sure which part isn't clear. First, syntax objects are data, but with extra information, such as binding information, source location, etc. Second, the #' form (written out it's called `syntax`) is similar to the ' form (written out as `quote`). But the first one includes the extra information to make a syntax object. Also, it has an extra character, which the chapter points out can be seen as going along with th…

This is why I wish I could ask comments about books without going to Stack Overflow. Is there a publishing system that allows you to put up a work as it is being produced and solicit input from people on what they find unclear?

I've bought a couple of books on the manning early access program and been very satisfied

https://www.manning.com/meap-program

Re: Beautiful Racket

#25
post #5

Earlier quoted context omitted.

Not sure which part isn't clear. First, syntax objects are data, but with extra information, such as binding information, source location, etc. Second, the #' form (written out it's called `syntax`) is similar to the ' form (written out as `quote`). But the first one includes the extra information to make a syntax object. Also, it has an extra character, which the chapter points out can be seen as going along with th…

This is why I wish I could ask comments about books without going to Stack Overflow. Is there a publishing system that allows you to put up a work as it is being produced and solicit input from people on what they find unclear?

Leanpub.con It integrates with git and is pretty simple to use.

Re: Beautiful Racket

#26

One of my favorite classes in college was designed around building a C-like language interpreter (not compiler, I know, but the syntax was C-like) in Racket. It was a fantastic, eye-opening experience. However, DrRacket the IDE was a huge pain for me. I often felt that what the language offered in power and sophistication, its development environment lacked.

I haven't used DrRacket for anything of any reasonable size, but I actually think it does pretty well. I was just asking some people on #racket about if DrRacket suites their needs for a development environment. I think it's interesting that a good number of Racket developers use DrRacket instead of emacs or vim, whereas other Lisps tend to favor (especially) emacs and vim.

So my question is: What about DrRacket didn't seem like enough for your project?

Re: Beautiful Racket

#27
post #18
post #10

Earlier quoted context omitted.

Either or any would be great, particularly if they're online and not books (although I'd buy a good book that covered those topics in depth). Particularly an approachable intro to Hindley-Milner and building a toy/mini-ML, and type checking in general. All the better if it's in Racket, or some ML. Actually, do you know of any examples of ML-type languages, or any statically-typed languages, that are written in Racket…

It looks like Pyret was first written in Racket. I think it's optionally typed, though. https://github.com/brownplt/pyret-lang-resugarer

[deleted]

Re: Beautiful Racket

#28
post #10
post #6

Earlier quoted context omitted.

Are you looking for general references on implementing type checkers and ML-like languages? Or how to implement those as languages in Racket specifically?

Either or any would be great, particularly if they're online and not books (although I'd buy a good book that covered those topics in depth). Particularly an approachable intro to Hindley-Milner and building a toy/mini-ML, and type checking in general. All the better if it's in Racket, or some ML. Actually, do you know of any examples of ML-type languages, or any statically-typed languages, that are written in Racket…

As the sibling comment mentions, Pyret was originally written in Racket. It's now self-hosted, and I'm working on rewriting the typechecker so if you want I can answer questions about that. The current development is all done on https://github.com/brownplt/pyret-lang

Re: Beautiful Racket

#29
post #4

This looks like a very well-written, easy introduction to making simple, dynamic programming languages (not surprising given the author's writing background). But everyone writes about how to build these kinds of basic Forths, or Lisps, or reverse polish notation calculators. To be honest, once you've learned the basic technique, writing a toy dynamic language interpreter is pretty easy. Even adding a toy JIT isn't v…

There was a great textbook by Sam Kamin around 1990 ( http://loome.cs.uiuc.edu/kamin/pubs.html ). I think that might help.

There is also an abandoned book on implementing Scheme by Paul Wilson:

ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v14/schintro_toc.html

Yes, an ftp url.

Re: Beautiful Racket

#30

> If a datum sounds like a syn­tax object, that’s no coin­ci­dence — a syn­tax object is just a datum with some extra infor­ma­tion attached. The #' pre­fix nota­tion we used for a syn­tax object now con­nects log­i­cally: we can think of the # as rep­re­sent­ing the extra info that gets attached to the datum This is not clear, can someone explain please?

This is the only time I've heard "datum" used outside the context of GIS.

Datum is the singular of data.
Post reply on HN