News for hackers. Stuff that matters.
Re:Writing Complex Macros in Rust: Reverse Polish Notation by fleetfox on Thursday February 01, 2018 @08:22AM (#16281635)
Would Lisp macros make sense in language that is not homoiconic?
Re:Writing Complex Macros in Rust: Reverse Polish Notation by maxiepoo on Thursday February 01, 2018 @10:52AM (#16282712)
Re:Writing Complex Macros in Rust: Reverse Polish Notation by mcguire on Thursday February 01, 2018 @11:24AM (#16283056)
Fine. Would lisp macros make sense in a language that isn't fully parenthesized?
Re:Writing Complex Macros in Rust: Reverse Polish Notation by Avshalom on Thursday February 01, 2018 @02:10PM (#16284776)
Factor https://factorcode.org/

by comparison to gp's article Facotr macros are easy because instead of knowing exactly where and what the arguments are in Factor the reader doesn't have to care.

Re:Writing Complex Macros in Rust: Reverse Polish Notation by wtetzner on Thursday February 01, 2018 @11:51AM (#16283348)
Yes: https://www.cs.utah.edu/~rafkind/papers/honu-2012.pdf

Honu is a language with Javascript-like syntax, but has support for syntax-case style macros.

Re:Writing Complex Macros in Rust: Reverse Polish Notation by kazinator on Thursday February 01, 2018 @05:36PM (#16286610)
Many Lisp dialects are not homoiconic, as defined in the Wikipedia page for "homoiconic".

Homoiconic means that procedures are stored in representation in which they are written, or more or less.

A Lisp that compiles everything entered at the REPL isn't homoiconic. The input looks like (lambda (...) ...), but the storage is some block of x86 machine code with an environment vector.

POSIX shells are homoiconic. When you type set, you see your functions, in source code form (modulo reformatting).

The thing you want for metaprogramming is a smart internal representation of program text (not same as the external one).