 Just to get a bit of feeling from the audience, who knows how many of you have found the book, having read the book, but not actually having used it in the program as it is? And who knows how many of you have been better? Who knows how many of you have been better? This is a very old language. Actually it's the second oldest. This is the second oldest language. I got a case just after the fact that actually my kids managed to survive to ground, because it can do, it's not a very dynamic language. It's like when a new thing comes out, like new fashion, like object-oriented programming, it just seamlessly goes in. It's very easy to just go from, in one program you can have an object-oriented part, another part data-deleting part, and if you are, you can have a call on it too. It's very general. The most common criticism is that there are too many benefits. Which is very strange, because if you know the language, you don't see any of the benefits anymore, so you ask what I think. Because it's not like schemes. Schemes are totally different. Probably this was entered class in any instance. So it has multiple namespaces. So in this case we say, that you can go, but you can be on end of IP namespace. So you can have a class at 5, you can have this. You can have another package. One name is Schemes. We are residents. There are rules that govern how you, which names are visible where, as well. The most basic of all is that it has to be predictable and predictable. If you say a name in the context, if you say the name again, it shouldn't be the same thing. That's the basic kind of principle. So this is a small, if you find IP address, this says it has no ancestors. This says it has no slots. They can't change this. And this says it's invisible. What are you missing? This is a nice thing about Kloss. You have an inheritance field of objects. That methods are not defined on objects. Methods are defined on complement longalists, which means how do you know that you can have a bit less generic. IP address and IP as inside write. It just has one value, an IP. We decide the geometry of interpretation. Let me try method. If IP address is IPv6, unless it is this, if it's IPv4, IPv6, unless it is this, and you can inherit methods, you can modify location order. So it's possible to have a method, a before method, an after method, and a round method. You also think you see here this, you see IP as over that. You define a method on A in IP address or you can define it on A being a mask, B being an input, all the other way around. So there's no limitation on how you specialize these things. And Kloss will automatically select the most appropriate method for you. So this results in a language that is optimized for change. If you are reacting to a program and suddenly you realize that actually you are mistaken and a method should be re-needed, you can just re-execute it to change. But then you have a problem of what happens to the old data that's only being out. Or you can add a method to update them. Or the first time you touch the data it automatically comes up with the argument, for example, from a recent program I wrote. I had to pass the XML code. So I wrote to it and then it turns out the XML is a line. It's said to be, I'm now learning to describe a network. And while it was busy, it actually said, and the interface is, so it has been actually defined as having a host to me. In a traditional language you have to go back knowing that it's lying to you and re-pass. In common list you just say oh, it lied to me into changed class objects. Host, you just continue. It is a pretty useful language. So, how do you use it in Flick and Daryl? Basically, you do not want to work in any other in-terf language. For the Vi edit, there is a project going on to have better Vi integration. However, it's still so far from there. Perfect. So you start on Emacs, just to slide. This will be some magic. Magical. And you have slide. Yes, with the navigation. Yeah, it's... And you have to quit it and then you restart it. It's actually a patch to remove it but for such a part of R you put it back in again. So now you have a lot of things called the repo. So you can work with it. You can actually say if you're small the result is actually the slide is very important. You can get ash and say you're back in the list. You can even do auto-completion and auto-completion the twist because we don't have only current continuation but we still have this stuff. It allows us to integrate the barrier inspector user load communist library. In the last few years there has been a revolution because in the past there were like a dozen different systems that described libraries. But then some little kind of ESDF was meant to scale I think and it's a very simple way to describe libraries. In fact it has partially taken over the communist parties and so much so that the two three commercial vendors that are left have virtually abandoned their whole system definition systems and have started using ESDF. So there we are also moving. In there we have communist implementations like this for instance SBCR Modern communist implementations. We've got libraries. Packaging the implementations is a big taking. Packaging the libraries actually with many developers DHLisp is all still an example just in this. Now this is a very old program. It does virtually nothing useful. However it's very simple. Whenever a new thing happens the library should give you an account. This one gets modified first. So that's the another problem. It says the system SIL. Components in the farm called SIL. The more complex one you can also understand the relationship between systems, between files modules. You can have arbitrary commands running before and after around a few minutes. So fully project oriented. Then you have the main source file itself. Fantastic. And then you can change the library. Change the library. So we use that helper because we also use DHLisp. The other thing is you have to do depends on which depends. Because DHLisp will fill in the necessary dependencies in the app. Except, so it's not smart enough yet to pass the ASDF file and to give dependencies to other systems. So for instance, if SIL would use as split sequence we still have to add split sequence. So that's in trivial. Like it is, it installs a user share because it's independent of the app. Come in this, source and enable the library. And this library packages I always start at sial. That's like the first project was sial. The source file itself is still the usual stuff except DHLisp and DHList. What DHList taught us is going to be installed in a tree. Let's just install the ASD and list in this object. If you download on DHList to automatically see that there is a s we found it out. And that will make symbolic link from user share come in this systems sial. To this ASD file. And to add this in that will add also to the post install. It will call register, come in this library again. In the past your library will get confined in sial. However, this generated so many problems and it made this update so embedded you want to be generated. So what happens if you are confined in sial. So the system will come and it will pass. Where are they? They are in in patient way. We now use user ID because it was used recently but as you do you do something that your name is still you but your effective user ID is not good. So sial will be like a file in your personal cash directory which has no code which is not good. So now you use your effective user ID in your patient way because different patients use different compiled files that you have. And about the library it will delete all cash copies of the compiled files so that it will be certain that the system will have to read all that way. If you install a new documentation it will also remove all compiled files from that documentation. This in general should not be done but in practice people like svcm will get focused on developing codes and if they modify something that makes perfect compatibility with which is essentially a memory dump so to avoid problems we just use them all. So how do you go about loading libraries without published controls? How do you use the package for color because that's valid and how many different why not require it? Because an require is defined expansion in unseen places. So if you would use used package published for color there would be a clash to choose to use to do what actually how many different packages do you have? How many? It might be all possible limitations. You can understand why you said we can't use standard work. There are seven requirements that are important to us. You can't use standard work because standard work is defined as an instruction and if you are not allowed to modify any simple it's defined in words. So most limitations to modify require itself after a while bad things start to happen bad things in general bad things do not happen. It can be vocal especially as PCL as the policy that the standards has to be that literally. So for instance the standard says that death constant can be used to define constants. However if you do death constant you say it's 3 it's perfectly happy. It's a list. If you go out it's vocal 3. No, no, no. Why because the list won't be a different one. It's not the same or the same needs of the states and it's specialized and we're missing it. It's constantly wrong and I've tried to make this an amazing process. I remember two years ago I had to do a whole bunch of things where it was ASDF calling and various commands to try to compile excellent work. I have to use ASDF complete on system I have to use ASDF to load it on. This is the possible way using only ASDF to compile nodes that you can just use to compile or if you're using trying to just compile a node system trying to just load system the commands in the background yes, they're saved but if you're like before you can take a bunch of commands and they will alter the state of the dictionary and then they just save a bunch of it and you get this application but you might have some source but you're not seeing through this source it has a same principle which is putting quotes saying this is historically coming this way implementations always have two types like forth, like you have the world and if you want to make a new version you just want to find the world and you save this to die and you have to tell your attention to the new option executable which will make a total of 5 million by executable kind of world implementations, life sciences and ECL are unable colleges had the idea that it was if you say I want to have an application or have these and these softwares load with these and these libraries and then it will create a new world loading only these states however any changes you did in your current world are lost so it's a bit too it depends on your implementation for instance the ECL and the your statements here ECL they both have saved this to die so the world so they say that when you are really a well sourced the world is only of the world internally it's possible to have a well sourced because I mean that was a problem in 70's after then what you discovered was called a machlism however it was dead and the only surviving fuel in the world it's a problem in its own so it gets very impressive from the technical it was in this world that I would go and you saved us the dying by defining it long so how do you go back to see what types you can modify and how do you come out now you should not have to you should have a well sourced and there are very handy comments like as an expression so you go on there take a round it uses 5 p.m. which is a testing you can see it's compiling nothing yet you get more stout warnings it's here you do it you have to control how it's done a lot of cars suppose that it's showing you all the methods in most of it if you don't understand it it shows you where you can find it oh yes no this is very funny because comments predate misconceptions so you have arbitrary like bytes in fact the predecessor to comment is default output ratings so it was optimal always found how actually we use this no actually my call to format a number as an open numeral and there is actually the option to use the new open numeral it can take out numbers hit and out by out in some ways I'm actually interested in how to do that thank you yes actually there is this few nice libraries and then the 5 library has the same speed as C and there is a regular expression library which is faster than the pearl very cute it wasn't better than the bar the friend of the author said that this was not fast and to buy you a beer if you would like the regular expression library it was faster than the pearl so he noted a few years ago the problem with this was not that my name is available now the problem is that too many libraries not actually few very well maintained that we've got not one but two different let's say this on rails like this we have K-packs and we've got uncommon death which actually new products which actually are pretty cool stuff to do because it's just a good idea to ask users this and that and that's a great thing to do as web pages so we're looking more about library and further on UCD or other kind of program that is not here we need a simple example to let the user start yes so I know that the communist is not for very very new buyers but anyway you can think about a simple way to start which is not see a launch which is different because it is an issue that in the past to meet the concept of actually producing an executable to give to somebody has never actually been a priority even the new executable option of say Mr. and I would just produce a very big new copy of as we see out rather if different programs would use the same base as we see out image up to recently this was possible because they had a static space but now they improved everything and now everything is dynamic again so it's possible to share data between the limitations but this kind of the language actually just implies that you can allocate the system for instance something may arise the language space which is a multi-generational chain of products connected so you have two different languages at the start of application study they would use the same virtual English the first time we do a couch collection we don't use stuff for all of this and we don't share any though I like this a lot a 128 megabytes window manager it's a big bit but the solution should be found my best better known is ECR actually it compiles to C codes then loads the object back so that would possibly produce real experience most of the time it is swapped from this line you can enter the homologous problem that you are using and you can use the same now if you interrupt yes it's not that you put me in slender but it's useful to community approach of the symbolic there's real machine it always type yes is that possible today yes it's very possible today actually that is a perfect point that you put your machine that's the SBCR because the drivers it's the whole thing however it's no share the same memory so there's no isolation between users so in the 16th it was a great idea the symbolic chain and self-protection there was a lot of process and the old symbolic had the processor itself execute the legal commands so in reference if you look at the data in the array the processor itself would check if the array was big enough and if your data was compatible with the array however it is perfectly possible to set F and then there is this one variable contains the hash table which contains primary functionality and it's very possible to set that to nil it's something everybody does from time and that machine is broken so so is it no and even whole concept of protection is against this philosophy we have not really seen but if you define slots in objects you can define readers to read, function to read that slot from the object you can define accessor which is something you can read and react with but if there's no accessor to find you can just use slot value of the object near the slot you just set the value and it has no way of helping you see what you did not do so it's implied that if you do that you know what you're doing when I thought that's possible there's an issue of protection the scope is air protection but you just use a ring of package code and protection is valid protection is only there it's accidental yes yes then if you have read, function and you see the set F to compile a little page the reader can read that's there if you choose to circumvent that if you choose to circumvent it so that it has it's a choice also for instance time handling some people think that companies has no time this is another tool everything has a time if you have an object it always has implied it's actually 7 it will say it's an integer and in the SAS code you can say that I declare this to be any integer between 7 and 5 7 and 15 and it will never actually check this for you and if you give that function 4 don't tell you an error I'm saying 4 is not a clean 7 so I should also do type propagation so if you declare a value to be between 7 and 14 and then in your function you multiply by 2 it knows that the result is between 14 and 28 so it has pretty strong time handling if you choose this to be you do not want this to be a clean one just as nice I thought it would really be so if you carry that I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll I'll It's not a very good bike, it's a bag of what you define it to be, that makes it a bit of a problem. Actually, it's now just replaced with simple steels, which are not simple, which are steels that allow them to be changed in the middle of an operation to run a code. But this opens a whole can of words, because, for instance, you have the function of power position, which does not tell you how many bytes you've read, but tells you how many units that you've read. So really coding becomes really interesting, and then if you change your coding in the middle, it becomes really, really interesting. It's very difficult to do the right thing. No, no, no, no. They are actually pretty good. It's just that sometimes they have hard coding cases. Because it's not a very good thing, because it's supposed to be possible to use a GCN on a steels, which is slow access. You cannot make a steels, you cannot make a steels, and say, if I have that steels, in fact, code, that function will transform the data for you. But it's simple steels you can. No, but that simple steels is not part of the standard, it's not. So it's sort of standard steels that aren't part of the system? Yes, the same with path names. That's utterly political. Path names are actually a middle of symbolic path names. Symbolic path names have a host argument. If you think that my host is my VMS machine over there, the rest of the syntax will change to VMS syntax. But when they made standard, the other people might have claimed that Symbolic was pushing too much that path was standard. So they voted against some parts of path names. So path names are like half way to symbolic, but not far enough. So in some cases it shows, for instance, it is impossible to give and correct default hosts. Because it don't define what default hosts should look like and how you make it. The only thing you can do is to take path names you know and ask, what's your host? And then to reuse that, that's an attack many people fall into. No, it's not a package. Luckily it's the only package. What part of it? The beginning of the talk, you know, the beginning of how to compare between scheme and kind of that. Yes, you want to talk more about that. Yes, no, it's scheme was way too easy, a very small standard. So in practice it defines almost nothing useful. There is no trial and error. There is no path name. It defines a few nice things. Some of them not actually all that well defined. It's a nice target language. Of course the host and scheme, for instance, don't take that form. They extend the things. What have they added? Almost everything else in common is... So in the end they've got the same, but then it's... And that scheme, not the standard. Standards defined from implementations, I think, are the many that take. I once talked to a guy who was once a proud communist compiler. And he had asked the landing wall a few important questions. At the end of the exchange, the landing wall said, I'm very happy, now there are three people in the universe that know how to do it. He was a bachelors. So this does not feel weird at all. That's also why they have been doing it for 12-6. Because 12-6 they're having the standard to do it. The problem is that incredibly it's looked like this thing, established, that defines almost everything. Which is very nice because they always do it in form like this. Because endless battles describing, yes, but in paragraph 16 such things and see you see this, that at the end of the standards there is a list of words and what we mean with them. It's very nice. It's like e-boards. It's the e-board, the same. We've got two projects which come to my list. One of these projects is sort of mailing lists at Sea of the Moon. And to add the diversity on the other hand, we've got the Sea of the Moon projects in which we leave the list, but also to the darks and positive targets we maintain. We obtain almost all our packages, new-cast packages. So darks has actually become a sort of standard expression in this context. Even the darks is associated with that. Pastels are very nice language. It's nice language. It's not coming this way, it's close enough. It won't bite on the corner. I was happy with the people that want to be able to send packages with too many packages, so I thought... I have a question for everyone over there. What is your fault in the start-up? Actually, I'm using it. Okay, so you're not a packageer? I'm the packageer now. Okay. I'm not a packageer right now, so... Because I could... What is a packageer? A nice packageer doesn't use it anymore. I already have a new version of my machine, which is a CDS setup, and so we should be able to do it right now. How would you be able to give a demo about what you're managing from this? Actually, I'm doing one system, standard unit, which is a package on that, another one, which is for eight weeks. How is the original from this one? Which is more or less similar to open blocks, so you don't have to be explained. I remember four years ago telling Sean, you've got to re-write this as long as... And at that time, I could not even compile that list. The system was not there yet, but I'm glad to hear that it is. Actually, it's also doing a very interesting work on the left, which is a really nice tool for the movie of heroes. It's time to force work into a project, from the block. A bit more force next. Allow me. Five minutes, platform tape. So... I have a feeling of the film yesterday with my father. You know the talk about doing kind of video tricks? They had the laptop with the stream on it. Then the video camera up, featuring the stream on the laptop. So we had the laptop, and then we had the laptop, the laptop, the laptop. It was a five-second delay, but we did funny things. I wanted to write a comment on this application. I also wanted to have an integration pilot, which was comments, statements. And I wanted to really just suck that in when I get a signal, and evaluate it, and I realized this is important, because the device was open, and the problem didn't all take place. Is there a way to do this, or is there a better way to do it? I can give you a file, and it serves as a code in and around time. Just a file with an arbitrary code, and you have it evaluated on top of an arbitrary code. And just be not part of the application. I'm not part of the application. Why is it working? Next question is starting. Well, you know, you'll do the same, but I couldn't get it to modify the variable cluster. That was something to do with real estate. If it doesn't find to be special, so it starts around it, it's not happening. However, if you do modify normal variables at the top level, that's anti-file. You're not supposed to do that. I didn't realize the source would be that special. No, you have to do that for a special, for a part, and then there's a special. Okay, and the source will be mentioned. Yes, but this piece here will warn you if you've got special variables, not with stars, because people are so used to seeing stars, not with stars. It's a deadly trap because if you declare a variable special, that name becomes special, not that variable. So if you declare special key, all keys become special, period and iteration. Interesting things might happen. What functions might want to be a function? Functions are. But you have to do a function to start a new value. Yes. Actually, I'm this close to sending a package to SBCM to make an impact at the top level, a fatal compiler, because people don't do it and then you get very strange effects. Because if you start just doing stuff, you are very able to definitely handle packages. And for instance, ASDF protects you from doing that by creating a new temporary package, loading your file and then, of course, deleting the package. So if you've forgotten to do it in package, your objects will be in the package and no longer exist, which is real fun. That thing is always global. You can't have a definite global category of global. It's no use. It's just steam. Steam? Yeah. Yeah. It's steam. They've finished. We are recording to this too, so if you want to continue, you can. But we don't have any. I have a table of the audience, because I've talked too many talk with you here until now. Nine people, please. I have zoomed out. I've zoomed out, so you can see it on the tape how much people there were. That's good. The past person here lived with one guy, five guys down the clock, and I went two weeks ago. I remember sending something guys who hoped up. Okay. Speaking of that, I want to ask you, why is Delta common to develop on normal days, compared with what some people see in your past life? Why is that so common? Yeah. No, that's it. That's a good question. You're tipping, you're doing a lot of thinking and, um, the most popular answer is that only good commoners want to use commoners. If you see commoners program, there are those who don't, that only know commoners because there are billions of people who only know C, but there are those who know commoners program and only know commoners. Most of them also know at least C, Pascal, Pascal, Polar, to accomplish a professor's day, we go to a college in Dallas and we're mentioning that now that it will be a college. It's assumed, you know, it's a cool language, right? Say it egg-like, fluently to egg-like without mentioning it actually. And then, they still want to use commoners to express something, to express people's minds. So... There was a simple gt or how to how to do common C tasks and that's for instance, how do you do a whole world, how do you open a socket, and then just use a bit of anything. First example of Hello World is a bit, is at one time useless, at another time, too complex to a Hello World is like double quote, Hello World, double quote enter, yeah, big deal. Making a Hello World application cool. See, you know, that's the part of my C, it's very simple, one line is, okay, type this command line and you've now got an application that you can run. That's a counter-clash. But that makes it simple not to be those sorts of things. So, as a C programmer, you can do this and this and this and how do you do that math, you can say, how do you do this and this and works out the same. But as cultural and you sort it out, all you have to know how to search all the resources available. There's so much material which is why I'm here today, because I don't know what it's all about. That is actually, can you tell us about that? What is that there? It's, the author is a Java expert and he's public and he liked it and he wanted to see what he knew about it. And but it's not like a guy who's like one to one. What is comes from how it works because generally builds up the complexity of doing a final to until the end it doesn't have to be three browsers. I think it's moving, it's also it's taxed, it's taxed, it's taxed. So, but I think realistically, this is the closest you can get because there is no direct from the long run. I was thinking something like you may have my current idea something that has a list that you use in various tools that you use to come to the houses. Yes, we have common tasks I think the most common patterns you also use to have is with whatever it's very often used. It's a good believe. And also the the whole concept of I mean locations, I think in the second half is a bit powerful but it's not that you have to work backwards then because there are some signals under the water. On the other hand comparing with language Ruby in Ruby they are not complaining not too many movies but the level of expertise is growing now which is which is normal if you compare it with popular or new movies stories new movies sorry? Yes, but there are movies that learn and there are movies that do not because a few years ago there was this famous guy who probably complained about this he was but aggressive isn't a word really aggressive very aggressive extremely aggressive I mean you are so stupid you don't even deserve to live is aggressive but he was always nice and but it would never itself really immediately always give them a subtle hint that their life would be wrong and then he got the subtle hint and survived the encounter but then he had great fame wars because the experience it would be interesting to for you guys to study the past because I like that this conference and the Homer and semantic acting if you look at it like with your eyes slightly closed and twisted and because the whole John is dark John owns my and so but now bigger heavier with XML so it's incredibly big and short parts just converted to polar and suddenly it becomes easy and simple fast because it shows that it's not right for the full company because they have a database of colors who called who and they wanted to find groups so equals equals equals equals equals equals again because that are fans those fans would get an invitation to special fans and they wanted to do it and they wanted to do it but seven inner drawings on the SPL table was a bit too much so they went to semantic rep they had to do that all of my database and milliseconds to get it out so no stuff to optimize it for years now also with that which won't remain XML space then we should not maybe we have a feel I've learned more here than I would have in a month when I was here the VRC channel also is very like in our days but some people have game jobs and stuff and we also it's a fucking honor to be here I've seen it and it's really amazing communications are yes, it's better than e-mail sometimes sometimes VRC people do not take it so much they don't take it great on the other side it's not much possible hello where you are I'm sitting next to you ah yes I love to see you that's a bit