Isn't Java a Lisp-2? You can have a method, a variable, and an instance attribute with the same name. If you call it, it uses the method binding, if you use it as a value, you get the variable.
Nowadays, we are more and more used to a functional approach to programming and a single namespace makes it easier. The main advantage of multiples namespaces is with macros, preventing some name collision.
@@the-lisper Yeah, I noticed that when I write a let statement variable binding or choose the names of function arguments I don't have to worry about them colliding with function names. That's actually quite helpful. Seems to be a very smart and underrated language feature.
Isn't Java a Lisp-2? You can have a method, a variable, and an instance attribute with the same name. If you call it, it uses the method binding, if you use it as a value, you get the variable.
Yes! You are right!
When I switched from Scheme to Common Lisp I hated this namespace separation. Now I just accept it. Never thought it had any advantages.
Nowadays, we are more and more used to a functional approach to programming and a single namespace makes it easier. The main advantage of multiples namespaces is with macros, preventing some name collision.
@@the-lisper Yeah, I noticed that when I write a let statement variable binding or choose the names of function arguments I don't have to worry about them colliding with function names. That's actually quite helpful. Seems to be a very smart and underrated language feature.
Thank you for sharing this video!
I didn't know about funcall or putting the lambda within an extra pair of parentheses. Very interesting.
Thank you for watching! Yeah, `funcall` is useful!
Keep in mind, extra pair of parens only works with an explicit lambda so it's not very useful syntax sugar
@@NondvThank you for that detail.
how to setup in vs code and run terminal realy i learn this languse please help mack video please boss i am wait for your video
I put it in the list of video ideas!