brid.js

Languages and libraries

lisp interpreter

SHOW HN2011

brid.js

a Lisp that uses JSON instead of S-expressions (in .js)

github.com

#lisp#json#javascript#s-expressions#interpreter

69points
70comments
#181of 1,097 in 2011
Top 17%of 2011 by points

How HN took it

CuriousMostly questions and neutral comments

1 positive, 6 neutral or asking, 0 mixed, 5 critical, out of 12 comments about the project. Thread score -0.25.

Idea: 1 for, 3 againstDesign: 0 for, 2 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • JSON-based Lisp is an interesting experiment

    From 2 comments
    • I think the "any interesting feature" in this case is the fact it uses JSON rather than s-expressions. This may not be a feature you think it needs, but it's interesting…
      apotheon on HN
    • I really like Lisp (I was even paid to develop in it for 6 years) and these days I love JSON because of its Lisp-ish nature - but those expressions look damn ugly to me.
      arethuza on HN

Objections

  • JSON syntax with quotes and commas is ugly

    From 2 comments
    • I really like Lisp (I was even paid to develop in it for 6 years) and these days I love JSON because of its Lisp-ish nature - but those expressions look damn ugly to me.
      arethuza on HN
    • I vote for "prove". All those extra and unnecessary quotes and commas. Blech. And all that extra ugliness just so you can re-use the JS parser? IMHO there's no excuse for this.…
      lisper on HN
  • Still uses S-expression structure, so syntax change is superficial

    From 2 comments
    • It still uses S-expressions, albeit with different kind of parentheses and separators. The whole point of S-expressions is that syntax is irrelevant.
      xyzzyz on HN
    • How is this different than S-expressions? It seems equivalent modulo syntax. "They are typically represented in text by parenthesized, whitespace-separated sequences" -…
      tantalor on HN
  • Uses JS parser, so parsing is not minimal

    From 2 comments
    • No, there's a lot of parsing happening. It's just that you're using (part of) the Javascript parser to do it.
      lisper on HN
    • I vote for "prove". All those extra and unnecessary quotes and commas. Blech. And all that extra ugliness just so you can re-use the JS parser? IMHO there's no excuse for this.…
      lisper on HN

Requests

  • Show more examples of object literals as hashmaps

    From 2 comments
    • Does it use more JSON data types than arrays? The only examples are ``` ["map", ....] ``` I don't see any `{ }`, etc.
      oconnor0 on HN
    • There is only one other composite data type besides arrays: objects. I don't think these are being used for invoking functions, but I think it would be interesting to try.
      benatkin on HN
  • Explain purpose of the quote parameter

    From 1 comment
    • What is the purpose of the "quote" parameter? The only place it is in the code is here: else if(x[0] == 'quote'){ return x[1]; So why not just skip that extra verbosity? What am…
      ktusznio on HN
  • Support python-style keyword args

    From 1 comment
    • You could lose the quotes around strings, but you'd still have the commas. Maybe start with lisp and just add {key: value key2: value2} syntax for tables? It'd be useful to get…
      akkartik on HN

Questions

  • How is this different from S-expressions?

    From 1 comment
    • How is this different than S-expressions? It seems equivalent modulo syntax. "They are typically represented in text by parenthesized, whitespace-separated sequences" -…
      tantalor on HN
  • Why is the quote form needed?

    From 1 comment
    • What is the purpose of the "quote" parameter? The only place it is in the code is here: else if(x[0] == 'quote'){ return x[1]; So why not just skip that extra verbosity? What am…
      ktusznio on HN

Alternatives named

  • Common Lisp, Scheme, and Arc

    From 3 comments
    • Yes, that's basically what my repo does. It started out as an attempt to build 'arc using macros atop Common Lisp' like the original critics claimed could be done. I pretty much…
      akkartik on HN
    • I'm sorry, but I cannot get excited over Yet Another Implementation of McCarthy's LISP[1]. If your Lisp had _any_ interesting feature, e.g. call/cc, or object system, or nifty…
      xyzzyz on HN
    • Get thee to the arc forum, where the six of us will provide good entertainment: http://arclanguage.org/item?id=15422
      akkartik on HN
  • Paul Graham's jmc.lisp McCarthy implementation

    From 1 comment
    • I'm sorry, but I cannot get excited over Yet Another Implementation of McCarthy's LISP[1]. If your Lisp had _any_ interesting feature, e.g. call/cc, or object system, or nifty…
      xyzzyz on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/3290630)