Perl 6: what can you do today?

Video in TIB AV-Portal: Perl 6: what can you do today?

Formal Metadata

Perl 6: what can you do today?
State of the Butterfly
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
In this session, we'll answer "how far along is Perl 6" by exploring the things you can do with Perl 6 today. Along the way we'll discover a powerful way to parse, composable concurrent programming, a rich and extensible object system, and much more
Programming language Latent heat Computer animation Projective plane Authorization Formal grammar Energy level Mereology
Programming language Dependent and independent variables Building State of matter Real number Multiplication sign Debugger Memory management Bit Line (geometry) Client (computing) Graph coloring Computer animation Personal digital assistant File archiver Task (computing)
State observer Programming language Computer animation Code Multiplication sign Formal grammar Variance Right angle Bit Template (C++)
State observer Computer file Event horizon Number Structured programming String (computer science) Square number System programming Code refactoring Endliche Modelltheorie Descriptive statistics Social class Matching (graph theory) Digitizing Equals sign Bit Maxima and minima Line (geometry) Radius Computer animation Formal grammar Gravitation Right angle Quicksort Spacetime
Game controller Matching (graph theory) Radius Computer animation Code Block (periodic table) Closed set Formal grammar Macro (computer science) Pole (complex analysis)
Matching (graph theory) Computer animation Code Moment (mathematics) Bit Staff (military) Line (geometry) Spacetime
State observer Structured programming Computer animation Weight Multiplication sign Network topology Whiteboard Social class Spacetime
State observer Computer file Sequel Structured programming Operator (mathematics) Negative number Reduction of order Data structure Endliche Modelltheorie Area Programming language Information Poisson-Klammer Electronic mailing list Infinity Maxima and minima System call Arithmetic mean Voting Computer animation Personal digital assistant Factory (trading post) Formal grammar Rewriting Right angle
Graph (mathematics) Computer file Multiplication sign Moment (mathematics) Streaming media Mereology Type theory Message passing Mathematics Array data structure Structured programming Computer animation String (computer science) Formal grammar Data structure Extension (kinesiology)
Residual (numerical analysis) Type theory Estimator Radius Computer animation Mapping Workstation <Musikinstrument> Electronic mailing list Basis <Mathematik> Polarization (waves) Graph coloring Social class
Point (geometry) Group action Code State of matter Multiplication sign Decimal 1 (number) Event horizon Rule of inference Computer programming Number Estimator Single-precision floating-point format Reduction of order Object-oriented programming Code refactoring Integer Data structure Social class Matching (graph theory) Quantum state Closed set Debugger Bit Instance (computer science) Variable (mathematics) System call Category of being Radical (chemistry) Subject indexing Word Message passing Computer animation Network topology Formal grammar Statement (computer science) Right angle Summierbarkeit
Area State observer Mobile app Token ring Mehrplatzsystem Moment (mathematics) Bit Number Computer animation Atomic number Object-oriented programming Pattern language Absolute value
State observer Group action Computer file Workstation <Musikinstrument> Quantification Shape (magazine) Parameter (computer programming) Disk read-and-write head Attribute grammar Number Product (business) Medical imaging Declarative programming Object-oriented programming Energy level Data structure Graph (mathematics) Information Electronic mailing list Line (geometry) Electronic signature Computer animation Hash function Quicksort Reading (process)
Group action Computer animation Code Workstation <Musikinstrument> Object-oriented programming Endliche Modelltheorie Line (geometry) Social class
Context awareness Graph (mathematics) Computer animation Mapping Cellular automaton Disk read-and-write head Number Element (mathematics)
Default (computer science) Arithmetic mean Graph (mathematics) Computer animation View (database) Graph (mathematics) Electronic mailing list Virtual machine Line (geometry) Position operator Number
Graph (mathematics) Computer animation Workstation <Musikinstrument> Measurement Theory Asynchronous Transfer Mode 10 (number)
Computer animation
Category of being Programming language Arithmetic mean Computer animation Personal digital assistant State of matter Workstation <Musikinstrument> Form (programming)
Mechanism design Computer animation Inheritance (object-oriented programming) Mereology Social class
Arithmetic mean Graph (mathematics) Computer animation Workstation <Musikinstrument>
Field extension Graph (mathematics) Computer animation Workstation <Musikinstrument> Drop (liquid)
Graph (mathematics) Computer animation Average Constructor (object-oriented programming) Object-oriented programming Set (mathematics) Bit Measurement Number
Computer animation Mapping Hash function Code Operator (mathematics) Physical law Order (biology) Diffuser (automotive) Variance Maxima and minima Pattern language
Arithmetic mean Presentation of a group Graph (mathematics) Metamodell Run time (program lifecycle phase) Computer animation Virtual machine Sound effect Bit Lattice (order) Line (geometry)
Pulse (signal processing) Implementation Code Plotter Multiplication sign Virtual machine Number Process (computing) Computer animation Single-precision floating-point format Speicherbereinigung Object-oriented programming Software testing Resource allocation Communications protocol
Pulse (signal processing) Group action Computer animation Multiplication sign Order (biology) 1 (number) Video game Parallel computing Endliche Modelltheorie Compiler
Programming language Pulse (signal processing) Thread (computing) Code Parallel port Mass Computer programming Process (computing) Computer animation Network topology Right angle Software testing Endliche Modelltheorie Table (information)
Point (geometry) Mechanism design Goodness of fit Computer animation Code Closed set Core dump Electronic mailing list Student's t-test Resultant
Point (geometry) Concurrency (computer science) Multiplication sign Electronic mailing list Staff (military) Directory service System call Computer programming Loop (music) Computer animation Personal digital assistant Software testing Quicksort Resultant Asynchronous Transfer Mode
Point (geometry) Pulse (signal processing) Building State of matter Code Multiplication sign Range (statistics) Virtual machine Modulare Programmierung Shape (magazine) Computer programming Front and back ends Latent heat Strategy game Different (Kate Ryan album) Object-oriented programming Arrow of time Software testing Programming language Dialect Mapping Parallel port System call Process (computing) Computer animation Formal grammar
Pulse (signal processing) Suite (music) Control flow Insertion loss Protein 6 (number) Prototype Strategy game Semiconductor memory Compiler Energy level Software testing Mathematical optimization Metropolitan area network Scripting language Moment (mathematics) Projective plane Voxel Human migration Computer animation Network topology Right angle Quicksort Table (information) Arithmetic progression Reading (process) Spectrum (functional analysis)
Ocean current Computer animation Semiconductor memory Multiplication sign Drop (liquid) Quality of service Computer programming Product (business) Power (physics)
Computer animation
thank you for the so the kind
of it and and you know it was kind of thing that has to be more destructive than what we think that we all all the text and the and the price of the bond and the like and all the the all integrated and factoring all is something that you bring reaction what the work and I find it holding my authors of the and no specification language is actually has the higher the level of thinking that the standard grammar which that of the well I'm and great you have other during the ball with long and sometimes quite fine Italian projects is all we really people involved so that's a basic so we will look back at what kind of a part of the whole but I don't
belong to the thank thank you and you and I thank you I and how it actually feels still the use of the language I think we ought to do that and the time and so you find all new friends in example the debugger told of X is actually written in color sex and so we would actually be the building of all of the pieces that we need to build the language and the language itself and in the last year I actually useful so it's over a real world clients um walls they had to be always the case where the can I used it cared about getting results and by you call this the basic way and half a million lines that focus on the I think thank you thank can think of the what what can I do with all states that we can do it in an hour and that of lets us explore the language in in some kind of interesting way and so on but various reasons have been looking for very clean datasets or interesting datasets you can find around where and what you response a came across was a huge archive of historical global temperature data I was like up some interesting as articles this knowledge a song right now it's just in this big heap of junk which is you know Bilbo fronts China data out and what it will do just explore little bits and the your anything like that and you just a little difficulties emerging task and what yeah OK let's see how we can do
so this is the kind of thing you get there this is a the will know where the mind is the it's it's an island here about when will it's it's it's a it's a little weird way yeah it's a Norwegian Island and that's actually a very very long way from Norway and in the middle of the Atlantic it is actually reckoned to be the place on the and that's inhabited with about police Sunshine because it's basically cloudy all the time and culture and so it has a very well as a tourist destination fact basically the military Ireland were right people that you so you know you have been in the in the whole of the the the average temperatures in each month of the year OK and you have a little bit and so that the highest you get is that once you have lots and of you see and this year is the year I was amended the
problems of observations so you can look at this like OK let's try and actually pull the information out of the brain somehow we do that
well also is very good at grabbing instead out text and the only problem is the variance of the dual of this all the time the code devolves into this huge massive right is not really going to pay you to actually maintain and recognizing this 1 involves so we have the full support the grammars interlanguage so instead of having to you try and amount of a passing technologies you can take your knowledge of races and then basically just extended a little bit of the old apartment most of the time and gives much better structured way of doing this uh there imposable so you passing 1 language and and say all you know we're in the middle of a bunch of say no templating language with his bullets which was you have lots of well OK
we're done less with back on and the the very extensive you can actually so plastic passes and in the values of the main things what so let's take a little look and
how we build such event so the idea is to
gravity was to introduce a grammar and we give the name and all you do is the happened all of you probably yes they start of string and the strength of the familiar and have a cluster of the 1st quantify uniformly accessible offers a model what we do is that is doing all the right most of the match we basically call to of its radius again and was doing when describing the overall structure of the sort of thing with all the values of the popular numbers is this and then there's going to observations this section and so 1 of well as you that so what I like to do is not just pass this that have a way of actually pulling all the information out of that so what I'll do is try to a factor of that is that is that the the k b is going to be and where this maximum's what characters of a that system you + square rockets and mortar character class that it they so now why do you want equal sign you can put quotes around so the matter literally we then I will at some horrible I face OK and a solid you lines in the value of K so fine that basically is a positive values now 1 next alterations but the text also potentially some white face the files are not entirely very consistent and the least long observation and observation of motivation was year the digits the White face and used this is what all temperatures and this modulo thing here means separated by OK so it takes the previous quantified how and between the measured in this OK so basically a bunch of numbers separated by white space right and then was intended to the mediator and this is involved in modern and I think that is a complete description all down this text OK and it's nicely broken up into small pieces so we can understand what each of the little bit that's who so this question is will really work
well let's see let's examine
who along with no thank you failed match and control of this
of course is a lighter widens of work and you know is the way that was done like this and like this because an energy-level what we do I need to follow my things you can
do that you go and write a close you like inside of 1 of these production OK and this is what we're nicely and no you know the saying to allow those 2 things we match and we could do that but seriously but the the body and so the is much much nicer but in the body is actually know the poles that's all sex it knows about the growing role of the we used to in blocks of code that you valid you can step into macros radius is and yes grammars day so I think that was
so I wanted to go here so instead of saying well 6 and that will just put it in Duisenberg OK and let's have a look the name so that was the sole reason the and there is a lot highlights this this line of code and when I do that it actually takes into my grandma and you can involves the the yellow there and it also has a bit of text matching as a go through this but there we call the keyvowel we called it the we look for the bags SW plus painting 1 free because we lost OK now that's fine and what I'll do is understand just anarchy going for this OK see the on 1 moment home on Wednesday as we go and this is looking OK um all all you you see what happened is with we always so without here yeah OK or it is really really positive access to new plus you get the staff but then we were matching white space that he's OK so we we miss out passing the bill became so well now the silly mistake let's fix it and
then so here is and that's
not right seisachtheia there it is OK and here's what I'm eager to I'm actually used in the space well they can be made to a character class weights that white space as well OK and I think that this will fix it force so let's try it and
the company do it on the board this time we'll just go go straight for it but they and they of a lot of what's and but you can see that so it actually seems to positive thing and the down here what we're seeing is we have an observation was and then we have the year and we have all of the temperatures of being pulled out and it's actually gone captured all of the the structure of the data as well so basically you get the tree increase OK
you don't have to go and build up your own data structure if you want to start working at this information so do something really simple this trade off on that the so we pass this file on the ground and using the lowest and highest temperature and we have observed in all of these observations devastation so I start out with the model as long as possible but infinity and minus infinity and that are willing to hold for the structure of the grammar of the all we look for observations and the observations ruled the methods of observation and was quantified with plus so we get an array and for each of these areas is the variable so we're going to to show the thing which tracing on and want you to do here is over the temperatures greater observation and then here you know saving like false or not mine is equal to point equals and the mean operator and the max operator that infects so you say this thing made this and you get back the smallest what I'm going to do many people that it is actually not really hard coded into the language that generates and so if you introduce your own new infants operates you get this the 1st day so that we and this will lead you through and find the lowest or highest the value of the OK so that works and there wasn't too hot to land use and the was soloist me who's in on this and other who need brackets this that would also in the you know that once and you know well the the all parades itself
the people of rebel OK the operator itself the facility at 1 bar 21 will the mean 42 OK I Monday and which is 21 and the thing is known with you know of all of these operators you know how you have plus you get to right so sequels instead OK and if you have if you want to notice day plus equals 1 and we do it was possible to buy that OK and in the middle is just the same case I mean we know that rewrites to phase they close to and so so a men many calls they rights to a he calls made in the the it's just completely productive it's not a mole of these operators we call mental operators and the things like the the equals and negation because they take existing operators and they basically just 5 of that behavior a little bit and see if you more votes in a completely regular if you define your own new operator you get them all before so this was hundred means this region values rather than of correct however if you have a list the you can do a reduction and their that produce for don't in OK and that's completely regular as well for example that's how you ask if the whole list is numerically equal OK you can go all then that's 10 factorial they yeah so yeah that would be even useful for they just go away day so very good and
you the because of this work is going to part of we
have been working on you by and
you know early yeah all the better pass method which just takes the strength of the 3
that we follow you want to know the history and how that would be done we can't we don't do lazy stuff on and and it's 1 of those in the future we will do stream passing that and so and generally unless you've got something insanely big and it's it's not a problem of it yet but you you you look at it if it was a it was some of a file and the latest grammar adopt past FIL file that slow OK and then in the you the no it is not a progressive and all the moment you have a small of where you heard of the the whole way we have that that's a really good question and this and that will do something based on whatever kind of type of you have so if you have a and B in the strings of day that you get the same Harrison and because this is passing the graph everything that comes out of this very little text plus is how you know the fact and it's not if you if you do plus and the string is 42 you get and if you do a plus and the string is 5 . 6 rational so would be gives you the narrow extensible this so we pass but those if this is so OK but I'm not really happy and the reason is but I if the grammar changes or evolves with time very and I now that structure that she's going to change in this is not going to be most many maintainable solutions so if I want to so limit the little woman thing what what what is actually get along the code out of this problem and digging into ashes in arrays and so on I really like to turn this and some kind of more interesting data structure and what actually like to do here is to actually create myself a little
class of polar station data represents the temperature data from the station was the name to a certain country and there is the radial basis and we do the array of data as it's going to be a pair today that
takes the year and maps it to the list of 12 temperatures that we got of the idea of what they is in the array at now all activities are actually practice and really means stole exclamation mark food so moved all acts and % of all about the essentially the structural type you have so if you put the someone at x OK that's going to be a radius in a flattened was called just like your used to do and and you will find and the colors with vitamin is not so but we introduce these people and produce a 2nd residuals which tell you something about the scope of a variable being unusual and the exclamation mark 1 simply means this is private to the class now when you write those got made it actually the french to private thing and that makes Unix estimate OK so your cost of private all the way is which you typed
all or estimation so now we have that need to actually look instances of this class and we know this an interesting stuff in their little bit the the 1st thing that I need to do is actually to find a way to take my my and the stuff that it's producing and actually grab out the interesting data and build this fast not doing the right thing legal actions and problems just go for the code what I actually want to do is uh
it to take you into the booger turns out the debugger has a OK so this here really nice for understanding more than another bit of code does because if they say polite for 1 to 5 OK the and then we say go x ray and we just try this then what will find is now that we can now single step foot OK and that we can I just look at the variables of well but they will do exactly what we want and places random that runs to the end and now I've got a chance to 2 decimal code and of course that was not written the eventually state in the world will know it's OK fine so let me just do this again but show you and grammars and actions so let's write a grammar that really really simple 1 and I know I have a tall token and what we gonna do something really nice and straight forward we just gonna match 1 or more integers separated by commas in the and token it that's going to be some integer it's really really boring little word grammar rule that OK so can back and it tells me that I declared radical g day so that the gene that it's that so 1 can do is they can write a class they and I can give it methods with the same name In take a natural object now we have a special wearable slash freedom all special variables and both expand with free of the how and quite the reduction so and get and those last is the match 1 and actually it turns out that them if you write those 0 although a long time to get the things you catch Interreg X that is now actually just syntax for indexing into that thing OK but if you want to get the named ones of course you can do well you could do that that's to feeI but we can write that now as that and put it in the dollars then actually you can can write it who who just as that OK and then and all of the values that made very convenient for you to work with these these things that come out of France now if I actually just in here we put some book statements in a very and then in here we write a method the same OK and against of some bogus statement and will single this so when you do is to you got past OK and then I'm going to pass in 1 common to but they come and say that use the actions class they and at the end of this uh um will see was does so we're we don't start passing we go looking for an end but and we we look for the number and as soon as we matched it we find ourselves inside of this action that so it's a call OK every time you something you get this school and you get a ransom some of so I can actually look at what we have today look by looking at Dulles slash and economies the match their 1 property we have on their human users this year the what what is that we do is associate sum of all objects with this match and I can do that just by writing make I'm going to do is take that match objects and just a few close calls factors making the number OK the text we matched into a number and this is 1 of the few things out there and you can actually just a vow our tree code any point you want in your program OK to tweak your program states so you can tweak variable that but if that helps you find a problem so I know that just do make on that event if I look at this again that long now in fast and this is the property we might wonder why this is useful and let me just go and match the comma when the fact of the event horizon and I just and again developed close those latch today and the what we should not find this no we end up In the action of foot tall at which point we can retrieve the in we can look at in 0 what they that was the the thing we match them a stringified for you just so you can most see which of the young men OK and the on the we matched was that bird that actually is so that's a what is it of not that think that not OK that's a match object but if I want to grab out that number nonetheless behind OK where's the 2 what is the patent so it's the it's the thing we store so basically we came to the passing of the tree of and constructs whatever data structure we want out of so when you do in my director this so I have an action that
written all my area of tokens but I'm interested in and mythology valid is easy the F. could we say the that was trained we take the bound you know that was trained and we had a pulsates some that pattern actually makes a pair of object has a more just back home in and 6 that actually is heralded as you pass it on what about observations proposed a single user observation we may have and what we do is we take the same temperature as logically with napalm into numbers the OK so at the moment that match objects that represent the bit of text we captured in the the offsets and so on and on doing doing that we mathematics and that start on this also were of just a moment explanation so when we do so so you know
that we could actually writes a something like the to start dull in the the and then I can call a with a 21 fate and we get the answer and what it turns out that there's actually a but with an extra starter there that also turned the cost because of them to close that OK and you can actually have warned so the start . atoms but which is just going to call the apps methods absolute on anything I pass in so if I just 2 minus 5 and that thing if I don't there and there is a very very good sense so
we love them and the level of there and they all the observations ran observation was plus this quantified so it's a suppose quantifiers we have more of them I want to do is I'm at the that the ASC and then I I didn't to have this graph on the end and that found something really really horrible and it turns out that a bunch of the data files indicate missing data by having a temperature of minus 19 i and which I guess will never actually happened on of so the snow in the real world but we need to fill them out so always the idea is that it is then OK that the head of the base of all value who is the value of that which is the list of numbers and say you know all of the should be less than or equal to minus 99 OK so it has to avoid OK values in all of us are equal to minus 2 OK so finally at the top we pull it all together we take the classical new we get evil constructs of free I am going to do is to pass in the info but all of years taking a list the values OK and we'll go past which turns them into a hash so that's the way it's only a list of pairs into hatch and then the observations we describe what we make here which is the year pointing to a bunch of numbers and then we have a station data objects will almost you say what we actually want in the station data objects because of the country and the station name and then the data and the data is in pretty good shape but the the rest and so what we do is we write build so methods this is ammonia heritage method and use them for infrastructural things and build gets cold with the named parameters passed to the truck we do it it is all we do is take the main practices of the signature syntax the names products but they would call long before and here all those of binary too many things in the name of the country OK and then there's not that's fine and that works and and it's the we example of this however I'm lazy so let's do a couple of shortcomings of this the 1st thing is that you can actually find the practice of the ready to alter attributes instead of binding it to say that when all variable so if I do that then line goes away that was that by the the other thing is you know that you can actually do data structure unpacking as well meaning that I can take the of the hash and I can then write another signature which takes the hash all how they ensure the active you pulled out of the freezer because the attribute and that sort that and ignore all the rest of the values of the image but then so basically we then the whole thing with declarative programming that rather than actually having to write it and so well that but the already so we will use the
actions that do so we can so and the file and read past actions and a careful see at the end and career run this 1 let's do
that comparing and uh I think would go to know plenty of free no it was 0 4 model actions OK and if I do this then I will measure the data and you can see what this data is perhaps and that we scroll way of here OK and you can see it's a station data objects whose name is now my and the country is Norway so it's no way to it and yeah and here we have uh the erased so in 1921 these the 12 temperatures but they're in 1922 these 12 and so on OK so it works so
so far we have rattled 36 lines of code and then In my we have a signal of last and we have an action that the class just typed at the top of the thanked if
so what I like to do for myself a little graph each year but over the different years and we have data the stage it's worth rat so the 1st thing that I want to do is write myself a method here means and what will do in this matter will will the thing is you plus OK which adds a bunch of numbers together and we will take a look at them you have to get all values and we thank you read very context just like amplified its number of elements OK so that the so and and we'll map it to the cell has and its head here and and
and that the the the that's the thing about the quality of the world but the around
and around if you are and remember that was a list of pairs from here to mean number and you can actually formal lines this year is the year of basic along with all of the graph and you remove all be is that you have to run a couple of has race because we actually get multiple lines will this more different lines on the graphs on the we have taken a position that called and what happens if we run this I'm dead than 0 this 1 that see newly means the
bank and that if we do this no I don't do this when I need to tell it where to find a libraries OK and if we do that then what should come out of and is a really embarrassing that you will not believe what the default view of for if it is on this machine the yeah but look it's a graph of means very so it works so well in those without having a
selected 1 horribly wrong and I don't know what happened in the late sixties and he was pretty chilly and they were actually no moons at the the the market because you know yeah wasn't so the theory of that anyway there the mean temperatures over say online so interesting enough
so can go next move from with more they wanted that was what I know now what wanted
OK so thing is that I have this days of individual stations ago all the modes of them OK tens of thousands and do is just actually something you do in by country so we can actually pull the graph of the the measurements across all countries now we got out of the the the
the the the it at the and
the problem of the mind and the other actually having data from 1 station to the special case that you people be so so now you have to be able to bacteria
like this will include 2 languages and that method and the station it just practically in a way that the regret so all that and now on a new form I want to use the that's property and all you do is here in the back of features in the data and you don't like someone just because the 1 the 1 that there won't be a list of so we had these that the state I have a way of just asking for the datasets that is the station data not I want to compute the mean of so the question is where where they had the right then you have and there
1 be of the new year holidays class OK so that the that's not really part of the inheritance is really a mechanism specializing in an activity that was the 1 of the things that we would like to the the fact that the
the the so
it and at the and I think that the the people bias and naturally and of the OK so when you want
and I get a graph like this OK this is the graph of mean temperatures of all stations in Norway over the years and I look at this and I'm like we were be getting
pulled in and always have and of course the the data is not actually very rigid OK and you might wonder why it is so I went and what I realized is no there
wasn't data for all the weather stations for all the years and the 2 big drops in the graph a when they basically for new stations online and the thing about always it's really really really more north south would you count the islands OK it starts below 60 degrees in all and when you get all the all the all the regional always huge or the we are so most of you and the value of and thank you and thank
you thank you you you you and you can actually equally the on and it will ruin after all the rest of the object construction of the Acadia otherwise initialized so I have to do and ideas going here and just the and on the number of datasets I'm going counting how many datasets have a red measurements that each of the years and I'm ready now close to where we counted the number of data sets for the then you might also find if you want to do that kind of things but not the least is a fairly boring way of doing it OK so now I feel that goes and the graph
until sensible OK but we had last year's love of data and about 1 full of shows the average is critical of the work in which the little bit interesting so
they finally I know and again I would go too much from code and the people at the end was also calculate the high and low temperatures as well as show you in this poem what I did was I acted out a way of taking thing to do so the over the datasets of in goes the law in the year that we have data from all the datasets for and then you pull me to pass in the temperature and that has an legislative taking a piece of code variance that's the way they used to do the higher province diffuse which is kind of nice and then we need to
do is actually do to so another equals operator their laundry here that do you we going through all the values and the that's because in the year we in temperatures with finding the minimum temperature for those that actually is on the map as a method only really well and then we need equals the middle of factored to that you OK and what you will get the end is they need to take the cash and indeed hand the years back in order which means we take the hash and we sold the path from the hash by he that's the here and now how patterns and what I actually got out of this With crackling like last day for
always and you can see that the the fastest down here blows and actually the meeting writing little bit from the highest and he or she things and the the the overall effect on the mean is a lot of it is having curious when you see this graph and then you realize no so
that line is actually that line that OK it's just going to put it into perspective and seal a graph like that and
it was a little bit less scary and which is basically presentation is everything OK so so all of the stuff that you seen
so far and I've actually been running you repulsive here on a little shingle more which is short metamodel a runtime it's basically the 2 machine built around
several the room and this actually has the fastest start at times of of any of the above its implementations so it starts faster and it generally has the lowest and use as well and now it's very nicely and you know it's not and we have managed to crash today and that is very hard to to do that was very longer and stuff that we get a 2nd plot is really great work with the garbage collector basically torturing it and making it into a garbage collection run after every single object allocation and we then ran some very big tests on it and they ran for like on something like 3 weeks and it hadn't actually crashed so then were fairly happy and the constant into and so we will be torturing no I
don't think you can do is run along the job virtual machine notice some protocols the prose our that often of which she gets going tends to be a decent bit fast but I don't have a number comparing JVM against more but certainly there was 1 guy who took his code but he was running with pulses
on parallel machine run on the JVM and 40 times fast OK so that this new life in the and you might wonder how hard it is to take the pulse exposed we've Rissanen run on the JVM instead and he might have been noticing a moving in politics and and it turns out that all I have to do in order to run it on the and
instead there's too that such news go for 1 of the simple ones but there's before model actions and that's just too fell 68 instead of k fell the start time is incredible I could have however so what they finally and so the someone to get going and it's the compiler goes to work and it often actually comes out and get ahead and by potentially quite a long way so if you have a
long-running stuff and this this
could potentially be quite it would probably the reason snapshots of we really wanted the reality of and and the fact that that basically every other languages that so we should probably be as well is mass and how did you
hear is the place where we can run code in parallel and very mature about it's very moles things right multi-threaded code and job and when we wanted to get the pulse frenzy features and never really have an ice table the and to build the model and test them on and that basically did this stuff in the real world I already asked you know very big trees and the animals and last place now what show you just finished the session offers to actually show you how difficult it is to take a program that we have risen and you just see me run it on the JVM and the full thing works as well again and we're going to to actually just paralyzed we gonna make it so that it can run on multiple costing crunch through this the dataset parallel
so here is the close of mike goes over a list all directors the data and the use of each so directory OK and the so this is basically going through all is also director is full of files good and is doing it sequentially so the student how and the mechanism to use we we've got various ways of doing these things involving from use is called the promises because they make the most natural way of doing this 1 and it will show you what a
promises so here going to do is I'm skeptical stocks and the use of long code which basically this move from 0 infinity and and grab some you got to know that's a lazy list OK and in the festival finality and I'm looking for the 5 thousand prime and get out and get it show that the work all on a uh uh and the CPU core and to look at the status of this promise OK and you'll see it plans to get so it actually been working away on the CPU core here what I've been playing in the Raphael at this point it's got a result for me and that is the the 5 thousand prime bullfights thousand 1st if we it from you OK so how hard is it then
to take this and paralyzed and that yeah we only need to paralyze so far there's there's no point going overboard and valuables modes of the individual tests in lower that you start and then and their and what does here is that is this piece of work and asynchronous and it gives me back a promise representing it so what this loop so that basically results in a list of promises OK for each of the top-level directories and the work and that is a way that it waits for all of them to be done and that's it it and we can know very similar literature the rest although it is going away you all staff very the graph and and don't so again the only thing I don't understand how our world which started as a way of course we got lucky in this case the the the the sort of opportunity for concurrency in this program is very reactive and of course the question is what does this actually
useful course and then you have time to the summer called call I prefer boxer a poem is 0 yes it is there
so I guess this is actually a genuine you know of course the question is what is actually any fast the wall what time of it could just be usable call always completely and when they move the
portal machine and I golf more than 3 times speed apologist price dropping these 2 things OK so it was actually the arrow along the lesson of the last which on a quad-core machine is pretty so a lot of regional OK so as the
state of process the thing you need to
think of 6 is a fairly nice expresses the novel you already can build some very interesting stuff i just like with them In the process of building this I really needed in all run into a much lower books I did run into war which is actually a good candidate but little and so as so that all that was over map and you know this this is finally duty did just take the code that they wrote all on Molière different on TV Avenue older just walk on and that really is a very positive things it tells the that strategy of using a test we use the specification of formal grammars to specify the syntax and then gradually being in pulses while is actually working hours hoped essentially letting us have multiple the back ends at the the language room and feature-wise hopefully you've got the impression from this thing I've been able to show you a very wide range of things we'll be doing passing with grammars with the object-oriented programming with this I Role of programming we use most those and with all the modules we've done a bunch of parallel stuff at the end and the feature was an increase in shape and really there's a lot of things you can do that and know this point the question of a lot of things the left in the specter them all day X is well you know how do we really need them to declare success and I think the answer for all of them we're still missing is the actually no we don't so the soldiers of course and there's
a bunch of reasons why I'm not going to stand here and tell you you should now grown use both it's everything you OK but there on the right I hope that's employment status but right now as you read the whole that little bit more of the belonging to speed and in the true sense of you make it work and make it fast and you know make it work and as you feel that the work of a lot of people find it is not fast enough for them and it really depends what you on things are all bad and once it gets going and the script and stuff that we don't start time of day and so if you didn't memory work that we want to do well and you got something quite interesting stuff going on this right now the only thing that is a work in progress at the moment is a access see how we have various prototypes of this in the past and that they're educational but in the end didn't quite so get there and and who will look at current levels which is looking very promising and yet you find the tutorial wise things really sparse reference voxel too bad to get to tutorial realize this uh less than 2 we we have some sort of effort on that from 2 but over the
optimistic about things in the on the optimization side of things is small we don't have a clue how to make it fast it simply is that we haven't gone and don't actually 1 of his priorities for the coming weeks and months is getting a bunch of interesting optimizations and 2 breaks again to read papers about stuff like you know SSA and the dominance the technical if you talk about some OK and the idea is that you get access to all vowels topology and so we need to get that quoted elsewhere and but that's actually planned very future as well and I reckon that we have in and there's actually funded grants for doing the intro so that actually has funding now it has somebody who's on the use of lead and we also have a project called the 5 which is very promising which basically is using the polls it's compiler tools implement poll 5 far enough that for a bunch of simple scripts you can see this 1st involve I make sure it's still runs and then you can actually tell you what what block the pulse sets so you can this table walking say on and what pulsates and they use the 6th man right cosets of and or you can actually have a bunch of 6 proteins that use the 5 and this is coming along very well and it's being you basically take in the whole wide spectrum of loss own test suites to to try and get this so if you know all about migration strategies so if I
wasn't the that you very very nice and the things that I OK the others have we will make things a lot faster than global memory usage down at the bunch now is all actually is in place then you don't have to choose the and you want to do current power program because we have that on the quality of service and involvement the better and better place and a you the size of the museum out of productivity growth through my solution this is and remains regional and I'm pretty sure it stays that way
the but you will but it's all will drop by the IRC channel all drop hired to balance that someone and pejorative use all the time so I all the thank you very much if you have questions I believe it is here that you and me afterward for on and
around the walls of the veins Greenwich mean time of of
the and the the the value of