Hacker News story: Multi-Language Support in Smalltalk and Historical Lisp Environments

Multi-Language Support in Smalltalk and Historical Lisp Environments
As of late I've become very interested in learning more about Smalltalk and Lisp machines. I wasn't around when Lisp machines were in their heyday, but I've read a lot of Hacker News comments and websites about them, particularly the machines that Symbolics produced. I have also played in the Pharo environment. There's something very appealing about these "turtles-all-the-way-down" environments where all of the objects in the system are live and can be inspected by using a REPL, and how system behavior can be changed on-the-fly. A part of me is very interested in taking an environment like Pharo and building some utilities within the environment with the eventual goal of using it as a daily-driver operating system, or at the very least an environment I regularly use on top of an existing operating system like Linux or Windows. However, one question that I have about Smalltalk and historical Lisp machine environments is whether there has been any work done on implementing support for other languages, and what that would look like in these environments. While I love the appeal of a system in which every program is implemented in the same language, the reason why different languages exist is because some problems can be expressed easier in certain languages. For example, there are some types of programs that benefit from Haskell's strong typing and functional programming approaches and thus would be easier to write in Haskell than in Smalltalk or Lisp. It would be possible to write some type of Haskell interpreter or compiler that uses Smalltalk's or Lisp's object model, preserving the "turtles-all-the-way-down" feel of the system despite the fact that the code was written in Haskell instead of Smalltalk or Lisp. However, I would imagine some limitations to this approach, such as porting a C program to this environment. 0 comments on Hacker News.
As of late I've become very interested in learning more about Smalltalk and Lisp machines. I wasn't around when Lisp machines were in their heyday, but I've read a lot of Hacker News comments and websites about them, particularly the machines that Symbolics produced. I have also played in the Pharo environment. There's something very appealing about these "turtles-all-the-way-down" environments where all of the objects in the system are live and can be inspected by using a REPL, and how system behavior can be changed on-the-fly. A part of me is very interested in taking an environment like Pharo and building some utilities within the environment with the eventual goal of using it as a daily-driver operating system, or at the very least an environment I regularly use on top of an existing operating system like Linux or Windows. However, one question that I have about Smalltalk and historical Lisp machine environments is whether there has been any work done on implementing support for other languages, and what that would look like in these environments. While I love the appeal of a system in which every program is implemented in the same language, the reason why different languages exist is because some problems can be expressed easier in certain languages. For example, there are some types of programs that benefit from Haskell's strong typing and functional programming approaches and thus would be easier to write in Haskell than in Smalltalk or Lisp. It would be possible to write some type of Haskell interpreter or compiler that uses Smalltalk's or Lisp's object model, preserving the "turtles-all-the-way-down" feel of the system despite the fact that the code was written in Haskell instead of Smalltalk or Lisp. However, I would imagine some limitations to this approach, such as porting a C program to this environment.

Hacker News story: Multi-Language Support in Smalltalk and Historical Lisp Environments Hacker News story: Multi-Language Support in Smalltalk and Historical Lisp Environments Reviewed by Tha Kur on March 14, 2020 Rating: 5

No comments:

Powered by Blogger.