 Hi, so I'm the doc, I've got a hangover, a bad one, and I'm going to talk about a language called Hyde. So say hello to Karel's the catfish, that's her language is basically mastered, although she looks more like an octopus, so I kind of prefer this one, she's much more badass. But anyway, so Hyde is essentially a list dialect, a dialect of Emax list that runs on top of Python. It is a stable combination, but you would ask why? Well, the first part is that it's a list dialect, which means that the syntactic sugar, by the way I love that term, syntactic sugar, the syntactic sugar of list comes on top of Python, which is actually quite interesting once you start going into say mathematical computing, which is something I'm into, plus the part that there's very, very easy interop between Py and Python. Because you know, Python happens to have a lot of languages for math and science, so richness doesn't have, I mean, not a lot of other languages have that kind of ecosystem. So it's actually not a bad mix, it feels quite intuitive. But it also has its disadvantages, which I would like to just enumerate before we go any further. Seeing that this is function gone, unfortunately, Hyde is not that functional yet. So things like immutability don't really exist beyond what Python provides. So if anybody is familiar with Python, tuples are an immutable data structure. Apart from that, everything else is mutable. Everything else can change on the fly. Also, Hyde does not have monads. There are unofficial implementations. Somebody is trying to put a closure, the closure languages implementation on to Hyde, but it's nowhere near complete. However, having said that, it doesn't mean that Hyde is not useful. It's got a lot of things going for it, and I'd like to enumerate them as we go along further. So yeah, very easy to get started with Hyde. You can just do a clip install, clip is the Python languages library management system. And Hyde has a console, it has a wrapper, it also comes as an integrator. And what Hyde basically does under the hood is it compiles high code to Python abstract syntax tree, which the Python integrator can then run. So you can also see the integrated, the generated Python code, you can optimize that further. You can also see the abstract syntax tree that you ever want to hack on top of the language. It's a little like LLVM, you know what's going on under the hood. So you can implement things better. So yeah, as you can see, this slide is conduct. So let's do a deep time deal. Like you know, Python is its whole pitch, sorry, which is its whole pitch, which is high. So some of you are going to repeat this, some of you are not going to repeat this, many of you are going to repeat this. And you just, at the end of this, you just, you just assign a value to your language. The value can be, the result of the function, it can be string, anything that I'm going to do. So all of Python will then come to the list. So it can be in function, state, everything will come to the list. What will be the documentation? It looks like this. So it's going to be 50 percent. So yeah, as I was saying, it comes with dot notation as well, which is something that lists another list like languages like scheme and string here, or three, three, four. Also, you can, if you assign a string to another variable in high, then you can use all associated functions that come along with it, like checking artist length, and so on and so forth. Then we come to condition. So the if loop is pretty basic, similar to what you would see in the list. However, if you guys, you know, sometimes you want to switch between different conditions within in a loop. So usually you have else for ellipticals in different languages. Unfortunately, because of the mitigated of compiling that into an ASP, I don't support that. What it otherwise does is give you a condition, which is similar to switch case or select case loops. You can usually end up using that and get better performance as well as value of multiple conditions at once. For loops are also pretty basic. Then the best part, like I mentioned, Python interrupts. So the entire Python system library is available to you. Apart from that, anything, any other library that you install into your Python namespace, either globally or within a virtual environment, is also available to you. Easy marshalling of Python data types. And yeah, that's right. It comes with list comprehension. So in fact, I'm supposed to run most of this course, 50 seconds. So some, some phone, God bless them, have come up with a Jupyter kernel for i. So you get just like similar to what you saw in the morning, we're always showing up iJunior, which is iHeart. So yeah, let's run some code. So what this part basically does is it prints out a chess board. Doesn't look very pretty, but it's a cluster. So the best part is that in this content you see, you can quickly, you know, an argument to print this together and I print to them, print them all out. Then comes one of my favorite parts, threaded macros. So unlike this, i does not have this approach to macros, but the one thing that really stands is threaded macros. As you can see, very classical example, redeval print loop. It's a loop, right? But when actually trying to write it out in high or any other, or any list like language, it comes out like this, which is usually never very readable. It doesn't seem very intuitive. Because when you thread a macros within the RO operator, you can make that way more readable. So in the same way, let's say on most units like system, you have a user dictionary which consists of words that you might add either in a native language or words that, you know, you don't want to be caught by spell setters every time. So in Python, Python comes with a library called sx, which allows me to hook into any batch command and pipe that into Python. If I do it the usual way in high, it looks like this, which actually makes me want another hangover. But I don't want another hangover, so I go for the threaded macros. And that makes it much more readable, much more concise, and it allows me to actually tell someone, this is what I'm trying to do. Let's talk about high because it's not the type of Python. You get object-oriented programming as well, which is probably the case to talk about it, but sometimes objects are useful. So very easy to define your own objects and then create them as functions later on in your code. You can also hook into ORM or ODMs, like you can also need a Mongo engine, and then write entire data models in high and have all your data logic abstracted away in the form of high code. So yeah, let's do some demo. SimPy, which a lot of people have been mentioning today, comes with a lot of cryptography packages. My favorite happens to be the Vigenet cycle, because there's this really interesting story behind Queen Mary and how she got executed because she used that cycle, which she thought was unbreakable. So yeah, let's start another script where we just start up here. So essentially, let me just quickly run through this particular statement. The import statement remains the same across Python and high, but the way you import libraries is a little different and tricky to grasp at first. Now usually namespaces, module namespaces are represented with dot notation. When you want to import a specific function or a specific object from a library, when you enclose that within two brackets. Otherwise usually the high interpreter gets confused as to whether the module exists or not, and throws an import error. So let's import the Vigenet Vigenet encryption algorithm. That's essentially a function. And that's part of what iHigh is that it's easy to jump between different lines, test your code, also graphics, very, very nice. So I'll just define a key and because we are high. And so usually when you are like this, high does not really have the quality or assignment of it. Usually a space is what is used to denote assignment. And now all we do is add that to the script. So that's part of that. It's like a negative mention that I keep loving. And the reason I keep emphasizing on that is because high as a language is for me as a mathematician, great for prototyping. If I have some algorithm in my head, game theory, anything, that I want to prototype, Julia is a great language. In fact, I actually do love Julia a lot. But I might just want to prototype a girl quick and then see if I'm even going anywhere with my idea. I see a workflow where high is the first step of actually prototyping a model in your head. And once you see it going somewhere, then you can take it forward by importing it into another language, which could be any. Because it's Python, it has resisted to any other languages. The world is either single or free. Then the best part I love about high is symbolic computing, simple. Now if I just define symbols for an algebraic expression here, the matrix is not going to enter them using lattice property. So I'll have to import pretty simply and just call it. Now, how simplify works is basically it works on the basis of symbols. Algebraic expressions usually have variables x, y, z, sometimes n. So in simplify you define them as symbols. And then you can create various algebraic expressions around them and then you can do a lot of things. You can do calculus, algebraic expansion, and a lot of different things. So that's x and y right there. Now you can see it's pretty simple because of the notebook. You try to paint it in a console, probably not going to work. And then I can create a whole expression from it. Now the funny part is that intuitively when you first look at it, it doesn't look very nice, post-rex notation and whatnot. But when you actually start using symbolic computing with high, you really find that post-rex notation is what makes more sense because it allows you to group and prioritize your mathematical operations in a more cleaner, more say-no manner. So yeah, then I can do a lot of other things. I can add, subtract, I can expand it, factorize it. So yeah, let's try something like that. And then I can even factor it. So it's pretty cool. The way you can easily quickly get started with stuff. Then just for fun, just to show you guys that it's possible if you ever forget the speed of light and if you ever need to remember it or quickly figure out what the speed of light really is, then you can just use astrophiles. So there you go. Mostly with 3.8 and I only write 2.2, 2.9, 9. I'm talking about just going to find those right now, so that's nice. And the best part about height. As I mentioned earlier, personally what I feel about height is that it's a great way to prioritize your input. And sometimes you might want to make those photos publicly accessible, which is where, you know, fighting, web elegance comes into play. Because using height, you can quickly create basic web apps that can then export your functions and your models to input. One very interesting scenario is, there's this dark core, there's this particular library called Pyke's Lake. We're choosing a combination of class and to react to framework to render better dark cores, better data than the dark cores. So you can use height to do a bit of statistical modeling to test a particular bias that you might have. Maybe, you know, you're doing some patient analysis and then you can use a combination of height and react to dark cores and quickly render a prototype. That says, okay. Anything to quickly figure out if your analysis is even going anywhere or not. So, yeah. I think height got a bit of a secret. I wanted to figure out how to get the functional aspect further. One fix that I discovered to immutability is just to declare a variable at the top of the image down here. It's a very ugly hack, but it works. So yeah, scale-hydro. Better about me, I'm basically a matrimarchist and I'm a political historian and currently I work as a community evangelist at a place called Winterfell where I'm building a community for product enthusiasts across India to share state-of-the-art rent software products. But something like a cross-picking of products is not going to happen in India. And yeah, you can check out some of my tools that we are using to fix this up. And yeah, if you have any questions with me, I can just file them right away. I have a lot of time for questions. There isn't, unfortunately. You will have to write your height, fit in different files, and then import it. So, as of now. I think that's done. Do you guys want to enjoy some karnataka computers and written results? It's pretty cool. Anyway, thank you ever so much. Thank you very much.