1. 11
  1. 5

    Great article, I’m loving seeing more articles on Self. For those wanting to see a video of using the transporter, I have a short demonstration here.

    I find the transporter and module system takes quite a bit of getting used to. There’s a lot of moving parts and it’s easy to mess up. But it is nice to be able to export Self code to files where they can be stored in a standard version control system. I do resort to grepping the Self code sometimes despite the good graphical tools to find things.

    1. 2

      Thank you! The video is great as well.

      I find the transporter and module system takes a quite a bit of getting used to.

      It’s definitely a different paradigm indeed. It’s quite different from other languages where you write the code first and it’s converted to the in-language structure later. Plus, the information you have to supply via annotations is kind of counter-intuitive at first, but I get why they are there. I hope we can figure out a better implementation for those.

      I do resort to grepping the Self code sometimes despite the good graphical tools to find things.

      Can you give an example? So far I haven’t felt the need to do this, because you can usually use the Find Slot... tool to find whatever you need in an object quite easily (though some slots are named… oddly. Looking at you traits string shrinkwrapped).

      1. 1

        I mostly don’t need to grep Self code, but having the text was very useful a while back when I did a full reorganisation of the categories in globals. It was too invasive to do in a live image with the standard tools - even a Self world can’t keep running if the collections prototypes flicker in and out of existence :)

        It was very useful to be able to do regex replaces on the .self files before building a new Self image.