Ask HN: Have you created a programming language and why?
171–180 of 247 posts
Re: Ask HN: Have you created a programming language and why?
#172* Helped write a C++ bindings library for Ruby. I was finally getting sick and tired of doing everything in C++, and paying the cost in undefined behavior and compile times, but hadn't given C# a proper try yet. Bugs in the C API for exception handling eventually convinced me to abandon the project IIRC, but we had something functional.
* Company-internal modifications to a C++ bindings library for Squirrel, Sqrat. Bugfixes for UB, adaptations for custom smart pointers, logging, replacing exception-throwing logic in later versions... was at a company using it professionally and was encountering bugs, compatibility issues (we couldn't compile with exceptions enabled for all platforms), and poor debugging support (which I 'fixed' by adding a lot of dumping options for callstacks and the like.)
* Wrote a flash bytecode rewriter utilizing RABCDAsm. This wrapped all method calls - and statements within methods - in additional logic to track the current callstack. Our flash embedding solution didn't let us debug flash very well, but these modifications let us get real callstacks for unhandled exceptions and other errors. As a bonus, I was able to reuse much of the logic for a simple tracing profiler of sorts.
Re: Ask HN: Have you created a programming language and why?
#173I'm creating a small virtual machine based around the idea of associative memory (read: tuplespaces). I'm going to use it to write a ton of declarative code for smaller devices and for some of my own projects.
the opcodes are still in a state of flux, but a partial implementation exists in Python, with the intent of porting everything to C and getting a spec up. you have operations like 'match', 'exists', 'assert', 'retract', mathematical operations...
...oh, and no callstack. ;)
Re: Ask HN: Have you created a programming language and why?
#174The other viable choice was to have application developers write everything for the Newton in C or C++. By giving them a much higher-level framework (Scheme/Self-like language + UI views/interaction + indexed object store) we were able to get more functionality into the product/ecosystem faster and more reliably. At least I think so. Also, we didn't have much RAM to play with, and were able to do some nice memory-saving tricks underneath.
Re: Ask HN: Have you created a programming language and why?
#175Long ago I found a copy of "System Design from Provably Correct Constructs" at the Seattle public library. I didn't realize it at the time but I now know that it is basically a presentation of Dr. Margaret Hamilton's Higher-Order Software ideas. In essence it's a thin AST that is only modified by operations that preserve certain kinds of correctness (i.e. type safety), with a tiny core of essential combinators that a…
Re: Ask HN: Have you created a programming language and why?
#176Long ago I found a copy of "System Design from Provably Correct Constructs" at the Seattle public library. I didn't realize it at the time but I now know that it is basically a presentation of Dr. Margaret Hamilton's Higher-Order Software ideas. In essence it's a thin AST that is only modified by operations that preserve certain kinds of correctness (i.e. type safety), with a tiny core of essential combinators that a…
Edit: The book you mention is on Amazon for $6 now. Ill buy a copy for historical inspiration if its contents go into detail with examples of applying her method to at least toy problems.
Re: Ask HN: Have you created a programming language and why?
#177Yes, CoffeeScript, in 2009. Despite being a modest, fun experiment in stripping JavaScript down to a minimal skin, and without any corporate backing, it wound up catching on a little bit. Thanks to the hard work of Geoffrey Booth and Simon Lydell, among others, there's a new "V2" version that includes many ES6 and 7 features that's almost ready to go: http://coffeescript.org/v2/ CoffeeScript was designed extremely co…
Just wanted to say thank you for CoffeeScript. Despite its somewhat ambiguous syntax it really was a better version of JavaScript, and it would be fair to say it really mainstreamed the idea of JS as a target language. Many of the ideas in CS made it all the way to ES6. Many other ideas didn't make it to ES6 because CS fleshed out issues that quite possibly would have been missed otherwise. It was a huge net positive…
Re: Ask HN: Have you created a programming language and why?
#178The interpreter is written in C and is open source [1]. There is quite some old documentation here [2] (needs to be moved, this was from a google code wiki). An online demo with several example programs can be found in [3] but it does not have all the latest features of the language.
The interpreter is completely asynchronous (uses epoll etc; this is why the Javascript demo was so easy). It has many build-in modules that allow to do quite a lot of things (including sub-processes with pipe I/O, TCP client and server, receiving events from input devices, observing devices through udev events).
The language is actually built from a relatively small core which defines the syntax and basic semantics, and a larger set of modules which implement different statements. Many of what would in other languages be part of the language exists as a module in NCD, e.g. the var() statement and even If.
And here [4] is a real program written (mostly) in this language, that does something completely different from network configuration (allows controlling a Sphero robot using a joystick).
[1] https://github.com/ambrop72/badvpn/tree/master/ncd
[2] https://github.com/ambrop72/badvpn-googlecode-export/blob/wi...
[3] https://rawgit.com/ambrop72/badvpn-googlecode-export/wiki/em...
Re: Ask HN: Have you created a programming language and why?
#179Earlier quoted context omitted.
As a Computer Scientist, I actually find the distinction Turing and non-Turing to be rather obscure. Perhaps I am in the ignorant minority on this.
Isn't it just possessing both conditionals and loops?
Re: Ask HN: Have you created a programming language and why?
#180For details, see http://flowgrid.org.
Play store link: https://play.google.com/store/apps/details?id=org.flowgrid
P.S. If you want to create your own language, consider using my expression parser: https://github.com/stefanhaustein/expressionparser