Giter Club home page Giter Club logo

Comments (4)

michaelballantyne avatar michaelballantyne commented on May 24, 2024 2

@jeapostrophe a brief explanation of your idea of "tri-camerality" would be great---I can't guess what the third bit from read and parse is.

from rhombus-prototype.

jeapostrophe avatar jeapostrophe commented on May 24, 2024 2

No, I did not intend expand to be the third step. I really meant what Honu does.

The point of this item is to discuss the idea that although Racket 2 won't be parenthetical, it will have a simple predictable rule for determining what goes together. For example, if we look at a program like if c t else f where x = 3 we have to determine whether the where goes with the f or the entire if. In Racket it is clear because you'd have either ((if c t f) . where . [x 3]) or (if c t (f . where . [x 3]))

In Honu, if I understand correctly, the if macro has access to the entire stream and it could enforest as (if c t f) where x = 3 and then the where macro would take over and enforest as (where (if c t f) [x 3]) OR if/where could behave differently. In other words, you need to understand the implementation of the macros to determine what goes together. This, IMHO, is a disadvantage of tri-camerality and I think that bi-camerality is superior.

from rhombus-prototype.

spdegabrielle avatar spdegabrielle commented on May 24, 2024

I'm guessing from page 9 of PLAI
that bi-camerality refers to read => parse
and tri-camerality refers to read => expand => parse

macro-pipeline.jpg

I think in this case readcreates an intermediate syntax tree as per Homoiconicity isn’t the point by David Herman

PLAI https://cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/plai-2007-04-26.pdf
Pic from http://calculist.org/blog/2012/04/17/homoiconicity-isnt-the-point/
by @dherman

from rhombus-prototype.

spdegabrielle avatar spdegabrielle commented on May 24, 2024

Thank you
for ref https://docs.racket-lang.org/honu/Parsing.html

from rhombus-prototype.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.