 It's great to see, you know, how many, one, two, three, four, five, six, seven, eight, including me. People are interested in LX here already, I think. It's great to see you all, and people are interested in LX here. Hi everybody outside, I hope you enjoy it as much as I do. There is no camera, it's not here. Don't feel the pressure. This is an experiment. I started the meet-up just to see how many people are interested in these exciting languages. I like that language. And why is it exciting for me? I don't know, it makes just sense. And my first encounter to Erlang, maybe it's interesting for you, because long time ago, when I was in Germany, I'm from Germany, there was a guy at the meet-up, I think, in Frankfurt, in the centre of Germany, and he was talking about his crazy languages. But Erlang, and it's called like a German city, actually Erlang is also. Erlang is a German city. He showed a code and it was like, hi! It's great how passionate he is about this, and I have no clue what it is. And somehow it always comes up somewhere. Erlang, Erlang distributed systems, 99s, it's incorrect, 99s. So 100% uptown, great, concurrent. And then I forgot everything about it. I did not forget that it's very hard to program. I was a PhD programmer back then, oh my god. And then I saw something somehow, I don't know how it happened, but I just happened to see something about a movie, and I really liked the approach of the movie. It's beautiful, it's developed as humans in mind. And then I saw something, actually a tech editor, the same applied to something I already forgot. Erlang is the concept made sense, now I don't know what it means, I just do it. Programming all that, and a beautiful movie combined, what a genius idea. And I could actually cook like, I'd like to learn new language, I'd go to a popland, go, and then I said, okay, this is it, how do you learn, in my kind of age, with older maybe, I don't know, how do you get started with the language? Maybe you can share some ideas. I do it like, I jump a little cold water, and wear the meter proof. And see how many people can inspire themselves, because I totally believe in that it's, you have another idea, and you can share some knowledge, and some resources, and I got sure what I have. And then you say, great, I have something better. I can recommend the book. For example, I downloaded all the books about LXE, probably you can have a look at it, if you're interested. So, if you have any questions so far, who am I, I'm interested, I'm going for software at Singapore, interested in all the crazy things, and I'm more consultant, I love the program, I'm more network-sponsored in bringing people together instead of programming code, but I understand code. And some concepts of LXE actually very much changed my way of thinking about programming. It was very interesting, I saw it, David from the prep program, David from the prep program Dave, I saw a talk from him, and he was very passionate about it, and I like when people are passionate. And I was like, there has to be a reason behind this, and I understood like, wow, this is really a good combination of something solid, like over 20 years. And as long as more, I'm very old actually, I'm putting some new concept on top of it, and having all the benefits from clinical language, that is designed for tolerance, and the people for language, it's designed for humans, it's like, oh yeah, it's very useful and changed my way of thinking about programming actually. And he explains, and it's like, I wanted to have language that is for long time, and I see my colleagues struggling in this concurrency, and it's like handling Java, and you just knew it, but can I swear? Sure. Go ahead. Actually there's no need to swear, I don't know, Alex here, but using some normal language, more like, yeah, let's do this. Have you already used Alex somewhere, like in your work, or is it just for hobby right now? This is a very good question, I wanted to have a project, I'm more like, perhaps online, I want to have a project, but I like that, I have a project that I can work on. So I can read a book, I can get inspired, but I really learn how to open. And so far when I talk about Alex here, for life for example, and I see, okay, I have a rest API, and I don't have my servers and all that, oh, but Alex, he's honest, too young, is it really cool? Maybe you have some arguments with me, so I'm happy to hear a new success story. So far I don't know, because it's not on the list. Inshallah. Has anyone in rule actually used Alex here for a professional work, for a professional project? No, so far it's only as a hobby, okay? Yeah, is anybody out there that views Alex here as the question? Yes, of course, it's a very prominent example. I thought it was a problem. I heard it's Alex here today. I don't know, actually, that's... Maybe you can... I believe they can easily mix it, right? Since it works on the same virtual machine, they can write small services and very different views. I think the beauty of Alex here is that you can combine best practices from both sides, right? You can use native alone code and combine it with Alex here on top. Some people don't like the assumption that Alex here is more like a friend. It's more like, okay, how can I get this into the Dutch? It doesn't really work. What I've heard from the first one, Twitter and so on, it really works. But how do you start? What would be a nice vacation? And the tweet or the blog post that really clicked was this nice post from Paul Smith and I really was happy to read that and it's explaining how you can write in a JSON API, which is pretty standard in most of the projects. We have microservices everywhere, services. There's actually a new space, kind of, what is Phoenix? Have you ever heard of Phoenix before? It's a web framework. It's a web framework. There's also an HP framework that is called Phoenix. It's coming from Type 3, if you may have heard of that. It was a... A couple of beach videos. Why is it coming? Like Phoenix from the Ash. It's following me through my life so I have to pay attention now. I believe in that. Phoenix is like rails for Alex here. That's how I understand it. For everyone, it's a framework for doing back-to-back engines based on legacy. Right? Close enough. Is it a rail or is it a synapse route? Is it like... It's more lightweight than rails. So I don't think it enforces as much convention. Yes. Right. But I mean... It's a good way to think about it. Maybe it's enough. Yeah, it's elaborating on the screen. It's elaborating. So this is probably a nice first contact maybe. There's a test how you can write tests. And on this page actually, it's very nice. There's a test for an Xero and here you get some idea of the naming conventions or the naming... how you can deal with your code. You can write a test like that. And that's maybe all of it. And what is this here? Pipe operator. What is a pipe? Function on composition. What is a function on composition? Take the result of the expression on the left and put it as the last argument of the expression on the right. There's nothing... Well, Rippa does the insert of the function, right? It should have an argument. This argument will be the result of whatever these strange constructs in person contact is with Rippa. What happens here? Anybody follow? I don't know what person contact is. So imagine it's a hash map. Instructing a hash map with a key name and try to jump over it. So yes, this is a hash. The contact which gets inserted into your repository. Then it returns something. This will probably return something? A Rippa.insert returns something. It gets piped into the list.roud. And whatever that returns gets piped into the point. And that's the contact as JSON. So I would assume you can totally run that. There's something inside of it that returns as JSON. Which is probably the same as this. The idea is that how we would get a loop like in the traditional language. Maybe we can consider this life coding. So this pipeline is just basically like piped in Unix, right? Yeah, exactly. It just has this additional character otherwise it wouldn't even look the same. Yes. You know who knows your exibit in the pipeline? Yes. That is a good map. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. Cat. I mean, just LXC, I mean, I search the word, you can use prep and all that, but it's more for the purpose of example, so now I have something and I filter it through the pipe to get something back and this is a very nice method of processing data and we have to bring the pipe further and it processes more and more and filter it to be all and really that's similar. In traditional languages, okay, now just imagine that this doesn't exist in the after-units concept in the language, which is super powerful. It's powerful because it makes the code very easy to read. So in a traditional language, you would have different way, I can do this, but you have to form it in every single head, like this. This would be a traditional program. So is this like childhood and some health problems? Ripper? Really? Yes, yes, yes. This is out of my knowledge, I know that this exists, but how we use it, I mean, this would be too embarrassing. Not for the audience, no. What I want to demonstrate is that this is highlight for me, especially when the program is not nice and just does this. I can show you later. Yes, good, good. So you have this in normal code and you have to read from, you have to find the first value, what is it about, and then ah, okay, it's entered, and then it's wrapping it and it's ah, okay, now I understand it after having to think about code. Alex, your way allows me to see the data flow. You can also always assign the variables. It's like contact equals this hash, then inserted contact equals Yes, then you have a code. Yes. It's not perfect either, of course. You want to have it? Of course. It's more easy to read, that's the whole idea. Does someone know if it's also present in their lab, this operator, or if it's currently Alex here? So, Alex just stole it from F sharp. F sharp, okay. F sharp has the exact same operator. Ah, interesting. I don't know where F sharp is stolen from. Probably you. It's inspiring. Inspiring. Closure has this track, last track first. So, in Elixir, we can only track in the first argument when Closure is more flexible, we can say, okay, pass the thing on my left-hand side to the last argument of the function. Hmm, interesting. Closure is both. Yeah, both ways. Okay. So, you see that there's also vibrations in Phoenix. So, the way it's migration, idea, concept of food. Yeah, also it has resources just like radius. Exactly. So, the idea is to feel in comfort at home, at least. I think the history of Elixir is that it also flies. I tried to make a movie like Confirmed, and it's like cool in this new internet area. Area. Area. And it doesn't work because the movie is processed. They run always the same issues. Then, can you imagine this moment? I was not there, but I can imagine like, yeah, it has been solved already. I read a book at the University or something like this and there was this crazy thing called Alan. This is made actually for distributed systems by Ericsson. Yeah. And they have to hot-deploy code in the switches without downtime and that sounds really amazing. Let's have a look at it and stop the work on rails and movie for a minute and think what we can reuse from our group on us. I mean, they have a lot of experience, they have a lot of share and stop reinventing the wheel. I love that. Some people like to reinvent it, because it makes it more than I know, but I like to combine all the knowledge we have with it. And I did it in that kind of movie. That's great. How can I use Alan? Well, Elixir, sorry. And that framework that Phoenix makes it very easy to get started. And for example, a pop-proof concept of lines. A small performance test between the Java API and Phoenix API maybe can highlight some areas or more because I think what I want to hear from you is that there's a lot of fear and certain doubt because it's just not known how Alan works. How can you not sell but convince people who use more Alan or you have an idea or you want to say, hey, let's try this in Erlang and stop trying to do it in Java, but just open your mind and do something new that different because sometimes that. I would say that WhatsApp uses Erlang and there are just 20 people serving all these billions of messages so this can lower your cost. Is it real? I'm not sure how many people do they have but I know that it's a very small thing. 32 engineers. Yeah, it's billions of messages. It's a surgical marketing. I don't know. It's a huge deal. But it's ridiculously small team for the world that is down there. So cost is a good argument. Is it? Because all of the developers do get more jobs than the others. Okay. What we do with all the developers, the chapter developers, oh my god, okay. Good developers will stay in the market. Yes. I know you don't know those. There was Dynamo, I think, of Dynamo. Yeah, so Dynamo was the first one. But then they abandoned the big band. I think most of the teams went over to join T-Links. And since it's very young language, there is no big choice of frameworks. I guess the whole community because it's small focus, small amount of product to develop it. So I believe we'll see more frameworks soon. It just requires time. Maybe that's also one reason. Is there anything where the enterprise is scared of IFC and using something modern like this because it's too unpredictable? Actually I understand. I'm thinking if already Elixir has, if Phoenix has, for example, a library to upload files, library to process images, the stuff that you do in Rails with just a few lines of code and the job that's already three to four years old and it's tested by hundreds of people. So here you probably don't have it. So I'm not surprised that people are afraid to try it. How do you convince people to try something like this? I think if you're comparing a future parody with Rails, then it's a tougher animal to make. But you're saying like, well, there are certain classes of applications that you cannot build using Rails. If you want to build something distributed and fork-tolerable, then Rails is not. In fact, many other web promoters probably can't do that one thing. Probably Scala and Pekka fight. But that is also inspired by Erlang and OTP. So it's the same story. Why not just go for the original? What does coding mean? It doesn't mean anything now. You just need to stand for open, delicate code. Like code? Yeah, okay. After that, it's like IBM. What does it stand for now? It just means IBM. The story was OTP was chosen by the marketing people at Ericsson, and they said open because it sounded legit and you could sell more software and you could open inside. Okay. Erlang also has a web framework. I think it's called... Has anyone tried it? I'm wondering how is it compared to Elixir? I cannot answer your question. No, no, no. I was just asking if anyone has some experience. No worries. There is it. There is a nice keynote about Erlang and Elixir. Is it called Elixir called Elixir? I think so. So the bottom line I can send it in the group later. The bottom line is that Erlang has no marketing intentions. That's why the sound, for example, not intended to spread rumors, but that's how I make sense of what Erlang has a hard time about for me. As I explained earlier, I didn't care about Erlang so much because everybody was busy with HP and Java. That's why I heard as well that Ericsson just didn't want to propagate Erlang. It was in the language of their dreams that they want to sell to everyone. It was it to sell which wanted Java to be everywhere. That's what we are. No, you have to mess with it. No, just kidding. This is something that is expensive here why Erlang has a hard time. People complain about syntax and it's hard to understand. Some people like it actually. So I don't think it's a big problem. It's more like a psychological thing. It's a common and popular use for hard time everybody. Java's framework works as well. It doesn't get interesting to think about Erlang and Alexia. What I was thinking, again, this is totally to share with you. It's what I get as a thing. So people are items that communicate with each other and it totally makes sense to have an active model in the language. It's just a core. The core concept of Erlang is to have actors talking to each other through messages. Beautiful. When some actors are available via network connection while you're just not available I'll route another one and process the message there and get something back. This is how I understand it's more like communicating processes. It doesn't matter where they are and it's like, wow, this is exactly how the Internet actually was designed and why are we doing this on a machine? It's Java. It just makes sense to have a language now or maybe Internet of Things is one area I see a lot of potential for this. I'm not the only one, of course. It's more inspired by the other content and I think we could get Alexia and I didn't check that. So there are a lot of thoughts on the Internet of Things with Alexia and Erlang which I had an argument to read if you're into the Internet of Things which everybody would know they will be soon at least. Like big players just just use it. And Alexia looks like a very good crew for that. Who is the set up? Who's running Alexia or Erlang? You just joined? I've been only playing with all of it. I've been using my OS crew and it's all with the dependencies that we have together with the RBMB and the ESC which allows you to switch to a machine. I'm doing it to update you. What? Is it double? Yes. It's out to date the new version was released. It's okay. He has crew installed on the mic and also windows probably for windows. I don't know. I think there is installer like just like standard windows installer. There's this lecture. Thank you for watching. Org How's the experience so far? How do you like Alexia? One of the biggest thing that I regret my day around is everything seems to be a class core rather than a object. There's no concept of instance method anymore. Of course you run just class methods instead of users. That was my personal opinion. For example, if you want to do processing and what not, you're using the in-down door of whatever and that's how you do processing. I really like the pipe operators which you use to kind of chain the months together very similar to how the next month. So it's interesting when you say that there's no instances. So when I first learned the way I acted is the way we talk about instances in object-oriented programming wasn't invented in object-oriented programming. And there's this funny thing when he invented object-oriented programming he wasn't thinking of job housing he was thinking of more like cells communicating with each other by sending messages. So it's the same way that the Excel works but the actual competency model says something like okay you have a process you have a process and the only way to communicate is to send over one message to each other. So in your case you can say okay I'm stretching that out so that's really how I act. Do you guys I mean I haven't gotten to that state about inter-process communication and what the right key thing that I'm here for is basically trying to understand that and how that actually works because one of the biggest problems we have with the trade was actually come to a team company we are building an in-base solution and we are struggling with cell phones. So that's an interesting story what Samuel was talking about so he wrote a programming language called R-E-I-D So if you search for R-E-I-D A from the beginning I'm not getting us out of the trap we are having with the cell phone because the only reason we use cell phone because of the camera that's preventing us having a party that's the thing that we are trying to solve. So I mean I guess it depends what you guys are building like if you need lots of processes running and it needs to be supervised and improved because like Samuel had a lot of semantics it's also based on Portuguese But the thing is that we don't seem to be using it right so the investment on trying to think equal to cellular builders if you just kind of like try and implement it it's a does it make better sense because would I get something better out of it in the shorter period of time and it's an exerbase That is what we talked about sir the people that we raised from me we thought about making exactly that from where it was because it was a beautiful language and all that and said it doesn't work we need that form and okay let's combine that it's a beautiful movie language and you have the best of both worlds and it's on your right and you have to be professional don't try to pack everything in a movie but it's just a movie to scale it and you have to adapt to the Japanese culture it's still not that it's the same people that work on rails and probably in this area where you are jump out of the scoop and say okay let's do this enjoy a movie together I mean another way of looking at it is you don't need to give up a movie entirely because a movie is like super awesome certain things you know how to adapt the thing where you need the currency stuff just leave it to me but the rest of the web app or whatever we have the flexibility to take care of some of our offices which is the one that is receiving the messages from the first candidate okay there's a quote that we want to even ask what about the performance of a lot of work and actually I had a problem with the machine it cannot be very fast I looked it up and this is true, it's not the fastest it's not meant to be the most performing language on earth it's more specialty robustness and what's actually very nice you can have the the seed process inside the act of so you have you send the message processes in C and get the fast response back so you can have your high performance things in the actor he's processing the messages for you and you can compute very quickly as quickly as possible on the machine in C code and get the results back there's a bonus that you have for tolerance and everything for free that's how I understand it cool hey it's very rewarding to get this feedback because I was not sure if it's right I'm not not breaking it's more like thinking out loud now and it's cool to get a cool feedback so yes you can have high performance with scalability which is for telecommunication it's not always the most you need probably but more stable so you can combine again both worlds very very nice email and can that can that be combined with a Ruby process here? you can like so I gave the top one basically it was like a proof of that so you know exactly like yeah so like easily like as far as exchange the same kind of message you can always like creep off sidekick energy plays fully interoperable can you call all functions yeah I can call any a line function in fact I can read the other way around I can call elixir from I think in general building a language that works on some virtual machine because whenever this virtual machine is improved your language gets faster just by doing nothing the same is with jruby with closure that work on jvm not only they have access to libraries but also they don't have to worry about threading because jvm handles it and the same with speed whenever jvm is faster jruby becomes faster so the other thing which offers same feature parity would be eka but if you look at that documentation it's very on the other languages on the other languages on the other languages on the other languages it's created by one of the authors on the other languages so I think elixir is by far the most popular one other than language actually if someone is going down the roads of doing big data where you have spark and all those and then scala is kind of needed then is there something comparable that elixir way could actually work out I don't think elixir is a good fit if you want to do a process like big data or high complex computational stuff what if the big data is basically live stream data versus edge storage data because live stream data would be needed to cut off that message really fast and start processing it and so when people writes and have hard-toothed clusters and do the processing there would that be okay? I guess there are a ton of things that I mentioned I do spark and all that I already built actually for that kind of thing and I think you should just stick with that for that kind of use case so in that case if I am going down with the stack which is doing spark I do get scala again I wouldn't fit this if I don't do the big data stuff that would be a super good use case so what a lot of people do is to have a message queue for that project very popular message queue which is accidentally is that it's very performant and it's written in error and also we can use error modeling by using error message queue so it's very fast to see if it works other thing like official unline docker-linked messages yes they even download pragmatic and you will see there are some images which you can really spin up so if you go on Mac there is this too for pragmatic which really allows you to have some views of what's in the registry and you can actually spin up just a lamp in docker what's the name of it KITMATIC KITMATIC I know whoops it's already in the registry yes don't expect I haven't looked at docker-linked messages purely so I know like for closure docker-linked docker-up which is like officially supported by a probability okay I'll just find the one that is maintained yes that's a problem and also a big issue another big issue docker is super fast-moving there are a lot of frameworks too it's coming out which is great and LXC is also fast-moving I'm already outdated now which is also great and it takes a lot of it takes energy to put it in most efficient way to learn for example now you're writing a book about it I'm learning along the way like writing a book exposes a lot of things that you just leave out the more you try to explain like holy crap there's so much things so much gets and then you have to do lots of research go on Slack, IRC arrest people no you have to park manning you're having some discounts on manning which is a book discount yep, masking the only thing that's putting me off is the whole team and go there and go around there what does it mean me and you it's a many early access program okay got it so it's not okay so it will disappear by composting the same thing like what's that thing doing there that looks so ugly I just wanted to start another airline another airline I got it yeah I went to the team that it was discomfort yeah so we have a lot of books already to make something it's a thousand words actually you know it's an enjoyable thank you this is from one thing so like our docker will you run for this beyond the docker except for langium or jvm is there like any running on the vm I have no experience with docker so docker is not a vm it has the right access no I think it sources as a band it's closed as a band you are not having any zen habit so it's much more performing than is there a problem with you no I'm checking if you run jvm using docker it doesn't have it will be as fast as if you run it on the band if you use it in namdas I read it made a performance I was at docker 2014 so put it off maybe and you're pretty happy if I were looking for it so there's no penalty because it's talking to the colonel directly that seems heavy there's a penalty from the colonel here there's one thing you do with docker exactly sometimes you want more forms than you go to see the file that you can use as an actor or something I guess yes micro services or whatever like container that can very help inject new languages into an institution docker in general for developers meetup interesting topics meetup docker is very nice for the concept 2 year old actually so when I have a docker I think it's very old and cool they made it accessible for the community for the interface and everything around but the concept of docker is also very old and it seems like they look like central containers very old concept and zones and so now it's all the same idea maybe people disagree probably that the idea is to have courses in an environment that you can't go over and jump out of it it's very nice to be drawing it as well it's great so are you more into the programming language or more framework or more general discussion which is totally fun I'm here to show you how I get started and if you do hear your story how to get started how go to elixir-lang.org and there is a link on the top that says what is the message fully I think you can use whatever you want currently lots of people are trying out e-match because there is this plug-in or outcast it's pretty cool it's cool because it gives like auto-complete you want to show I do have my left I have some but I can show you like a replica of this week oh yeah it's cool here goes nothing one thing it's there is another one which I highly recommend elixir experiences it's a series of challenges that you could actually go through it gives you some I think you have to join the two words together to get the experience do you think it's experience without just drawing it together that's a word experience functions experience functions it's one at the bottom it's slow down slow down this one is very cool so if you're interested in functional programming you can actually do that simple to learn the weekend what's the equivalent of ID is from like Hungarian then I think intelligent has a decent online plug-in there is work on the elixir plug-in also so it's pretty pretty okay now for what the fact that it's basically has to take time to wait for the internet to work gives you quite a lot of I mean most of the time all you want is syntax time what I really want is experiment so the idea is really cool so then aside it really helped me to to get thinking about elixir like the first time you stuck in a new language I couldn't turn this exercise which is embarrassing again but it's just a filter text that we've sponsored something to make a test succeed so the exercises are simple but in the new language how do I do it and this is the first time I really got stuck I have to search and ask people and this is actually a great thing these exercises are great and it's also nice how cool to get started how to install and if you understand how you can for example to list the test result what you're going to get from it and my source is on how to code it so I highly recommend this from their auto links how to code and get this one what is free the idea is that you have exercises and you can commit to a particular story and then people can comment and learn your code and maybe feedback and learn how do I get to this page open the browser no I mean so it's just exercise.i yeah it's one of the good ones where people do install exercise yeah so you're not going to get your phone and then you can upload the code and it's always so strange ah that wasn't very good in here so what are you going to do what are you going to do what are you doing what are you going to do what are you going to do 20 Softwaresей project it's going to get you a super running that's like what do you think so I see you like I'll say the problem is I don't understand then whether this is something But this is something I have to fix. Who are you? Because my name is... Yeah, we're 140 years old. Any questions or more questions? This looks like it's not... Do you like what you've seen so far? Which one? Amazing. Do you want to see the... Okay, for the stage, yes. Thank you. Do you need a projector? No, they're just, like, high-heels. Okay. So... Just high-heels. No. This is not high-heels. So I want this because of the... Okay. No, it's high-heels. Thank you. Thank you. Sorry. Oh, there's a picture of that. Just look at it. The one exactly what I'm going to show. But, like, I'll show the height of the projector first. Because, I think... So I need to... Yeah, so, I need to... I'll be, or... Titan... or... you know... This is the... the read-it-all window. But is it like, um... enclosure, right? It looks like... whether it's a program enclosure or if it's read-it-all or whatever, it's anything. What do you like? Is that, again? In closure, if you... write it as a file, or if you did it one way, one through the other way, both are same. It's only equivalent. Yeah. In production or whatever. Yeah, yeah, yeah. Is it exactly the same thing, sir? Yeah, so I can, like, have a running program, and then I can just open an IAX session inside. Yeah, but the real running program... It's a... It's compiled. So you... you write your source as a... what IAX has written, or... you could compile to your IAX. So you still write your file. But IAX allows you, like, IRB, or if you're using Titan 4, allows you to quickly cast out certain commands, certain functions. Then you want to know whether it works or not. Without having to go through the whole compilation process, that's the benefit of a rebel. And at the racist side, this thing, asking about the, like, enclosure world, that one is, uh... Why should it be different? I mean... Where does it end today? I mean, enclosure is exactly the same. Yeah, right? It's not even the same thing. Why should it be different? Yeah, that's what happens. Because other languages, it's not like that, right? Which? Movies like that, items like that. Yeah. You've got compile languages, right? Yeah. And Elixir, this is a compile language. Scala, you have to get it. Scala has a record too. Okay. C, C++, Java itself, doesn't have the app. But if you consider Scala as Java, then yes. So how is it working in Scala? Because Scala is a compile language as well. So is it, like, just an entire compiler working? I don't know. This is the case in Elixir. Is Elixir just an entire compiler or...? I don't think... I don't think... The beam is a jig. It probably has to be just a compiler. I think it has some kind of type capabilities. But I don't think it's a jig. Okay. I don't think it's just a type. Okay. So, everyone at IAX, C... Okay, awesome, so... Oh, okay. So, it's a list. And like, it's like a glorified company that can do like stuff. It's a pretty nice system. So, I can do like... Okay, so H is essentially help. You can do like... Let's say I want to know what Enam does. So it gives me everything formatted in Enam. If I want something like that, I can get that kind of information. So, high-quality. Let's say I have a list of 1, 2, 3. I can pipe it to Enam or MAP. That's the thing that got me stuck. Which one? So, the Ecosite, what does it mean? So, you've got the usual... Yeah, you've got the assignment. The Ecosite in Elixir and Erlang is not ECO. It's just pattern magic. So, form, example. So, it's not assignment operator, right? It's not assignment operator. Yeah, it's like... So... This is already on my mind, bro. It's clear to me also. Yeah, if you come from different languages, ECO is usual in the assignment, then this is also different. I started from Pascal. For me, it was comparison operator. So, it's strange because in older programming languages, to make sure that it wasn't equality, you do something like that. But after that, people got lazy and people treated it as like ECO. I think the older programmers got peachy. I think it was because some people decided that you assign often than you compare. So, the assignment operator should be similar. I think this is the reason it's better than wrong. Yeah. So, there's this very cool thing. When Erlang was invented, the first version of its Erlang compiler was written in Prolog. And Prolog is very nice. So, all this pattern magic in ECO basically comes from Prolog. And one of the nice things about Prolog is this pipe thingy. So, what this does is it... Have you ever seen this before? Yeah, I've drawn glasses. So, what this does is it chops off the first element of the list. So, he is traditionally head and he is tail. So, when you do this, it just returns you the entire expression to the list one, two, three. Bang. H is one. And T is tail. And this is nice because a list is basically the head and the tail is the rest of the list. So, a list is like a recursive structure. And if you think into like Elixir programs and Erlang programs and Prolog programs, a lot of times like, it's all recursion. So, let's see if I can do... Okay. You feel it's not... No, feel it, yeah? Go ahead. Okay. So, for example, on the implementer you say, count. Right? Like this. So, the way I think about it is if I have an empty list, it should be like zero. Right? But if now I'm going to... If I have a more empty list, I can destructure it and say, okay, the first part is a head and the last part is a tail.