3 ms·
> That's not code as data, that's parsed code as data. I would say: you can execute it, therefore it's code. What am I missing? > Why not just use a single re
by doublesCs 6y ago
> That's not code as data, that's parsed code as data.
I would say: you can execute it, therefore it's code. What am I missing?
> Why not just use a single representation (+ a (* b c) 1) ?
Are you saying you don't like the default print? You can write a println method for type Expr which prints it any way you want. Seems like a miniscule thing to nitpick.
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- kgwgk 6y agoYou've convinced me, there is no difference. Why wouldn't anyone want to write code like this: Expr(:call, :+, :a, Expr(:call, :*, :b, :c), 1)
- snicker7 6y agoIf you remove the Expr, you get something that kind of looks like Lisp.
- kgwgk 6y agoYes, if you remove a few elements you get (+ a (* b c) 1), as I said a few messages back, which is lisp code and is also lisp data. So you can treat code as data! You can of course parse code in any language and treat it as data (and it may resemble lisp code!) but it’s not quite the same thing.