 This is the second in a series of videos I've put together about an enhanced display that I've developed in the JHS version of J using SVG Scalable Vector Graphics. In the last one we took a look at some variables, how they would look in standard terms, and then we looked at them again in Enhanced. We can see different types look differently, they're distinguishable by their look. We can also hover to find out what those types are. And in the case of literals we can even dig down a little deeper and see what the actual ASCII value is as well. Now this video will be mostly about literals because I found them a real sort of design challenge. Whether or not to put a background on them, and in the end I decided I really needed to put a background on them. And the simple reason is of the non-printing characters. I need to be able to distinguish between a blank which is ASCII 32 and say a carriage return which is ASCII 13. Now they look the same and there's not much getting around that unless I invent sort of other characters that could show carriage returns or line feeds or all the other non-printing characters. And I'm not sure that's the direction I want to go. I was satisfied enough that I could see that they were there and that I hovered over them. I could see their value. I'll show you where this starts to become important. Let's go back to the standard. So I look at this variable A, B and C. If you remember the first video that I did, right off the bat I tried an addition and got a domain error. So that pretty much tells me right away there's a type problem between A and B and it's not being shown in this. But there's some other interesting things that between B and C. And the key thing is if something behaves differently I'd like it to look a little different. So that I can tell right away that I can start to predict behavior. That's really important to me when I'm programming. So in the case of this if I do a fairly simple thing and I just append B to itself I get that. If I append C to itself I get this. And that really wouldn't be expected if I was working with it just by what I could see from C alone. So to get a sense of how the enhanced display deals with this. We can see A and I hover over it again because once I'm in an advanced display I can do that. It's shape 23 integer. So that's not surprising at all actually. B now becomes a literal. And I can see that's ASCII 32, 56 and the shape overall. Get into the lone zone here, shape is 26. So that's pretty straightforward. But what's going on with C? Let's take a look at C. This is interesting. I go in here. I can see the shape is 12. And yet when it displayed it looked exactly like this up here. It looked like it. But the key part is right here there's actually a carriage return. And that's what's giving it a second line. And that's what's fooling me into thinking that there's a change in dimension. Now there are times that I want to have to be able to see that change in dimension if I'm displaying text and I want the carriage returns to look like carriage returns. I can do that. But I can do that on output anyway. This is really just in terms of seeing what I'm working with as a programmer. And I kind of want to be able to see what's going on. So the fact that this is a single line tells me it's a single dimension. And in fact it is. Whereas if I go back to the standard display right away it's going to fool me most of the time as I look at that. Now if I know what's going on it won't fool me. But I know how I program. And most of the time I think that's going to fool me. Anyway that's about it for now. We'll come back and talk a bit more about shapes in the next video. But that's my little bit deeper look at literals with my enhanced display in J.