I created a non-Turing complete programming language for editing animations, implemented as a GIMP Script-Fu script (Scheme, basically). Here's the documentation: http://tshatrov.github.io/animstack Why? Because in GIMP it's annoying to edit animations with many layers, so I wanted to write a script that would do what I want. But rather than hardcoding a specific action, I wrote it in an extensible way, and the rest…
Ask HN: Have you created a programming language and why?
31–40 of 247 posts
Re: Ask HN: Have you created a programming language and why?
#32Re: Ask HN: Have you created a programming language and why?
#33I'm currently making a programming language that tries not to be a programming language. To give some background: I'm working on a program to allow anyone to create video games. But to add custom functionality, my users need to use some kind of programming/scripting language. Since these are non-technical people, it must be as easy and simple as possible. Therefore I'm now making a language (called Screenplay) where…
Re: Ask HN: Have you created a programming language and why?
#34However, while playing game after game in the evenings, I was always frustrated that I was using the inputs and outputs of my body so inefficiently. Starcraft tied up my eyes and my hands, but I still had time to think about the things I'd be coding if I weren't playing, and wished wholeheartedly that I had a few extra hands so I could play AND code at the same time.
This frustration crept into other activities like the drive to and from classes (and, even more frustratingly so, the long drive to and from home when I visited) and I eventually came up with a plan to let me code while multitasking with things that require my hands (primarily starcraft and driving).
I had taken the traditional compilers class the previous year so I had some experience with lexing and grammars, and set out to make my own voice-first programming language. I called it Bespoke (ha) and uploaded a proof of concept to GitHub[1][2] after it was featureful enough to solve a couple Project Euler problems.
I decided to use Javascript in the beginning so I could take advantage of webkit's native speech to text and get right into the logic without having to deal with processing sound or extracting words from it. After getting a proof of concept up, I expanded the flow control and data structures it supported (piggybacking on JS) and eventually wrote some fun (albeit simple) programs while gaming, but eventually gave up on the project when I realized I could code things up in a similar amount of time by just outlining code structure while gaming (also using STT) and coding up the necessary snippets in brief downtimes (between games, at stoplights, etc).
Now, I still pretty much do the same: I use a prose-like DSL that's evolved over the years to outline what to code, in what order, and how to tie it in to other pieces. I now take the train/bus instead of driving (and code at will), and outline what to code while I'm dead in Dota 2 games.
[1] https://github.com/drusepth/voice2code/blob/master/voice2cod... [2] https://gist.github.com/drusepth/3134188
Re: Ask HN: Have you created a programming language and why?
#35I created a non-Turing complete programming language for editing animations, implemented as a GIMP Script-Fu script (Scheme, basically). Here's the documentation: http://tshatrov.github.io/animstack Why? Because in GIMP it's annoying to edit animations with many layers, so I wanted to write a script that would do what I want. But rather than hardcoding a specific action, I wrote it in an extensible way, and the rest…
> In general, I think non-Turing complete (always terminating) languages are super useful and should be used more often. yup, always-terminating functions are also called total functions (if they're defined for every input). Which is a related concept to Total functional programming http://docs.idris-lang.org/en/latest/tutorial/theorems.html#... While Idris is turing complete for example, it's possible to mark functi…
Re: Ask HN: Have you created a programming language and why?
#36Most users do not want to write their queries by hand, so I also built round tripping of the language to/from a GUI query builder. You can build a query graphically, edit it as text, then go back to the graphical form. Certain things cannot be displayed however, and generating good error messages was very difficult.
A weird fact is that the backend which evaluates the queries has a totally different language of its own, so there is a transpiler for that.
Thousands of people have used this language, but 99% of them did not know it.
Re: Ask HN: Have you created a programming language and why?
#37I'm currently making a programming language that tries not to be a programming language. To give some background: I'm working on a program to allow anyone to create video games. But to add custom functionality, my users need to use some kind of programming/scripting language. Since these are non-technical people, it must be as easy and simple as possible. Therefore I'm now making a language (called Screenplay) where…
http://inform7.com/
- It comes with a manual. You shouldn't need a manual for something simple.
- Too much prose, I like more structural things. If inform is a book, my Screenplay is technical documentation.
Inform is great for what it does, but I guess I needed something slightly different.
Re: Ask HN: Have you created a programming language and why?
#381) I wanted to see how far you can go by making every language concept first class, because only first class things can be an abstractions.
2) But another big motivation was that languages usually grow towards building large systems in. I wanted every tradeoff to go to the human side, making it more suitable for beginners. For example, 0.1 + 0.2 = 0.3, slower by not using native floating point numbers, but much more humane. Similar motivation to remove the import statements. Or no difference between object fields or methods, e.g. string.length is the same as string.length().
Re: Ask HN: Have you created a programming language and why?
#39I created a language that better expresses server side web programming issues (exactly for that reason). https://megous.com/wl I also created language for describing processes (company processes). Mostly for fun and to scratch my own itches.
I'd love to see work on how to visualize processes
Re: Ask HN: Have you created a programming language and why?
#40[0] I think my oldest is "Compiler Construction for Digital Computers" by David Gries. My favorite isn't really a compiler book, it's Wirth's "Algorithms + Data Structures = Programs" because he implements PL/0. I used to have some PDFs by Thomas Christopher that used matrices to computer first, follow, etc sets that I thought was interesting, but have since lost those.