User loginNavigation |
Looking for a language like...Prior art: A few years ago I programmed on an HP Non-Stop that had a script metalanguage named TACL. It was interesting because its ROUTINES can get arguments, rather than the routine being passed arguments. Using #ARGUMENT it could get character-by-character all the characters following the called until end of the ROUTINE call scope, i.e.: [<RoutineName> <argument characters>] For example: [MyPseudoCommentRoutine takes a comment as argument characters, counts consonants and vowels, but returns nothing.] Getting arguments is an unusual feature of languages in my experience. A ROUTINE can parse its character string argument any way the programmer wants. Technically that string is passed as an argument, and the TACL interpreter probably does exactly that. I am not privy to TACL source code. This idea sparked my imagination. I thought about how TACL ROUTINES actually work, and I thought of an alternative that seems more extensible. *Hope I can explain this well enough. I'm not good with words, and I'm dyslexic. I wouldn't last a nanosecond as a proofreader.* My idea: *Like most bright ideas, 99.999% of the time it has been documented.* Another language may implement a similar Routine but not require brackets that surround the call and its arguments. This Routine is passed a return address argument from caller to Routine--nothing else. Using the return address this Routine can scan through a buffer full of source program to finds its arguments. Of course, arguments are typically near the location of a Routine call. The reason for eliminating syntax that brackets a Routine call is to allow Routine definitions to be the universal method of defining operators, methods, functions, etc. Moreover, since defining a Routine does not need a prototype to describe its argument list, only one define syntax is required, such as the following: Define "symbol-name" = "symbol-definition". The reason this language interests me is that its parser is distributed among all its Routines. Once a Routine is called, it can parse arguments however the programmer desires. Of course, a parsing free-for-all is probably a bad idea, and I'd expect a library parser that most people use. The library could provide call prototypes. Except, a Routine with an argument syntax that is not context free may be too complicated to make a call prototype, for example if keystrokes affect argument syntax. Conclusion: I've thought a lot about the features of a language based on this kind of Routine, and could write more. But, I'm not a good writer, and I think "My idea" is the kernel from which many other features of the language flow logically. Of course, my logic is not infallible. However, I have spent years doing mind experiments about this language. I am convinced this language can exist, and that it will have features other languages I have used do not have. On the other hand, I am not a language pro, and haven't designed a complete language in my head, maybe half. I have searched the Internet for a language as described, read a lot of reference manuals, but cannot find one example of it. I'd like to download it and try it out. If such a language does not exist, then why? I am not an expert, and fear that I am doing a very poor job presenting my idea. Thus, I fear no one understands what I am trying to say. Especially if I, an average joe, has hit the 0.001% probability jackpot and had a novel idea. Sooner or later some joe will do it. My Bio: I am not a good communicator. Mom said I didn't learn to talk until I was 3. Learning to speak late in childhood is characteristic of autistics. I've not been diagnosed autistic, but in 1947, I don't know if medicine knew about autism. My thought processes are clear. I've made a living for 35+ years and retired. I am happily married. I don't owe anything to anybody, and have not been in jail. I graduated from the University of Texas at Austin, Texas with a Bachelors in Electrical Engineering specializing in computer engineering. There was no computer science undergraduate program at the school at that time. I worked as a programmer using almost two dozen languages at the University and professionally, about half of them assembler. I worked on mainframes, a supercomputer, minis, and micros. I think Linux, Lisp and Emacs are awesome. Please ask questions if my writing is unclear. By Ed Earl Ross at 2010-08-01 18:18 | LtU Forum | previous forum topic | next forum topic | other blogs | 8337 reads
|
Browse archives
Active forum topics |
Recent comments
22 weeks 6 days ago
22 weeks 6 days ago
22 weeks 6 days ago
45 weeks 10 hours ago
49 weeks 2 days ago
50 weeks 6 days ago
50 weeks 6 days ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago