Live data from Hacker News

Creating a language using only assembly language

speakerdeck.com

11–20 of 67 posts

Re: Creating a language using only assembly language

#11
Step 1: Make a language high-level enough to build a parser without being a masochist.

Step 2: Make a lisp.

Step 3: Do it all in lisp.

Step 4: Profit.

Even Amber(https://github.com/nineties/amber) and its syntax looks a lot like lisp concept of grammar. But instead of (s expressions) you've got what is very similar to M[expressions] (https://en.wikipedia.org/wiki/M-expression).

It's amazing what you can with Lisp.

Re: Creating a language using only assembly language

#12

Very neat. If you find this interesting you may also like jonesforth, another project developing a language starting from assembly. http://git.annexia.org/?p=jonesforth.git;a=summary

That's what I was thinking of too; glad you mentioned it. jonesforth consists of 2 files: an assembly language file which implements the minimal commands to be able to load the rest of the language (in forth) from the second file. It is written in literate programming style so that the comments are the documentation which teaches you all about it.

Since then I've often daydreamed about implementing a forth OS on something like the Raspberry Pi (just another project I might not get around to). I'm looking forward to reading the linked article as well.

Re: Creating a language using only assembly language

#14
I wrote BASIC in VAX assembly as a freshman. It compiled each line to byte-code (like Atari BASIC), and used a hand-written recursive descent parser. I remember using the VAX SKIP and SPAN instructions when dealing with strings.

Sadly my only record of it was a fading fan-fold listing which is now gone.

Looking at the presentation: I really should have learned LISP earlier than I did..

Re: Creating a language using only assembly language

#16
post #11

Step 1: Make a language high-level enough to build a parser without being a masochist. Step 2: Make a lisp. Step 3: Do it all in lisp. Step 4: Profit. Even Amber( https://github.com/nineties/amber ) and its syntax looks a lot like lisp concept of grammar. But instead of (s expressions) you've got what is very similar to M[expressions] ( https://en.wikipedia.org/wiki/M-expression ). It's amazing what you can with Lisp…

Yeah, even operating systems it seems. :)

Re: Creating a language using only assembly language

#17

This is really great. I agree with comments about Forth. In this kind of projects, there is also Urbit ( https://github.com/urbit ).

This is the first time I see Urbit, looks interesting. Do you have some context about the project? Project homepage (http://urbit.org/) doesn't seem to explain anything and Github page just describes the language.

Re: Creating a language using only assembly language

#20
Ok. I'll toot my own horn.

In ~1983 I wrote the first iteration of Sensible Solutions for O'Hanlon Computer Systems using MASM. Of course, it had to run in less than 64k. Basically, it was a VM that would run pseudo code. And, the compiler was written in ASM also.

In 1985 I wrote TAS, again using MASM. Again, a VM. The language it compiled (in both cases) was written to create business accounting applications, which I also wrote. Originally I called them Level 1, 2 and 3 where Level 2 was basic bookkeeping and Level 3 was a full blown Accounting package including invoicing, purchasing, etc.

Unfortunately, this was during the time of dBase and I got clobbered in Infoworld for not being like dBase. So, I wrote a compiler for dBase and called it dBFast. Sold a lot of copies through Egghead and others.

In all three of these we made a ton of money and, even more, created a whole group of people who became "pseudo programmers." I say pseudo because they could program in TAS, not necessarily in anything else.

I was very proud of what I did and hope there is one more language in me to make programming on the web significantly easier than it is now.

If you've never programmed in assembler I recommend it to anyone. Just try something simple. Until you do, you won't appreciate what we have today. Especially if you're running on CP/M or early DOS!

Post reply on HN