Author Topic: Emerald Programming Language / VixenVM  (Read 12729 times)

0 Members and 1 Guest are viewing this topic.

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Emerald Programming Language / VixenVM
« Reply #30 on: May 14, 2011, 12:05:31 am »
Looks like a fun language to program in. ^^
We might want a port of this to the 84 sometime...
ld a, 0
ld a, a

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
Re: Emerald Programming Language / VixenVM
« Reply #31 on: May 14, 2011, 12:27:54 am »
This will be fun to play around with I'm sure.
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y

Ashbad

  • Guest
Re: Emerald Programming Language / VixenVM
« Reply #32 on: May 14, 2011, 11:46:42 am »
This seems nice Ashbad. In the end the language has to be user-friendly, while still being powerful. Unfortunately I don't understand everything that was said above but I wish you luck in this project.

thanks DJ ;) I'm aiming it so that everyone from TI-BASIC (beginner) to Java (intermediate) to Ruby (advanced) programmers can enjoy it; which is why I'm making sure that it allows functional programming without OOP, so all of these are legal:

Code: [Select]
function = lambda {|boolean, value|
   if boolean
      return value**value
   else
      return nil
   /if
}

putsln(AsString(function().call(true, 5)))

works just as

Code: [Select]
define type function further
   define action call rien (boolean, value) further
      if boolean
         return value**value
      else
         return nil
      /if
   /further
/further

putsln(AsString(generate function().call(true, 5)))

which can work as:

Code: [Select]
boolean boolcat true
int value 5
if boolcat
   putiln(value)
/if

for your favorite taste of programming ;)
« Last Edit: May 14, 2011, 11:47:29 am by Ashbad »

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Emerald Programming Language / VixenVM
« Reply #33 on: May 14, 2011, 04:19:52 pm »
i'd suggest getting rid of further and /further and replacing them with something else (curly braces, parens). this might just be me but i don't find them aesthetically pleasing. also, i'm not sure how much room there is on the PRIZM's screen.
would all of this fit on one line?
Code: [Select]
define action call rien (boolean, value) further

it may be annoying to read if it's split up.


Ashbad

  • Guest
Re: Emerald Programming Language / VixenVM
« Reply #34 on: May 14, 2011, 04:23:25 pm »
yeah, that would fit on one screen -- the text is much smaller than the locate or Text letters.  I'm thinking of allowing curly braces OR further /further to allow for more people to enjoy the syntax.  Also, for actions, I'm debating to get rid of 'define' before it, since I'm not planning on allowing for polymorphic functions.  This is what I might make it look like:

Code: [Select]
action NAME RETURN_TYPE(ARGS) further
which is a bit smaller.

Ashbad

  • Guest
Re: Emerald Programming Language / VixenVM
« Reply #35 on: May 14, 2011, 09:38:59 pm »
I have finally completed a working draft of the Standard Emerald Bytecode Set!  The bytecodes are actually rather space-saving as compared to something like Java, because they represent higher ideas than Java ones.  I predict much smaller and faster (compiled) code with Emerald :D

I am also working on preliminary testing with a Ruby script I made that 'Emulates' VixenVM.  Right now, it works with ~50 of the 200+ opcodes, and I plan to upload the source here by Thursday.  Once I have a draft of that working, I can transfer it to Prizm C -- to make sure there will be little hassle translating it, I'm writing my Ruby code C-Style (No OOP, no closures, so other awesome things).

I plan to release a specific list of how all opcodes work later this week.  Just to show you how high-level these Bytecodes are, there are no math commands whatsoever.  A  preliminary math is handled by the queue interpreter, which passes the code to the main interpreter, which Qwerty had asked about earlier.  This is what I was planning on having it do, so I guess that answers your previous question a bit easier ;) In fact, it should answer both.

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
Re: Emerald Programming Language / VixenVM
« Reply #36 on: May 14, 2011, 09:46:26 pm »
Sounds great ashbad. now I just wish I understood half of what you said
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y

Ashbad

  • Guest
Re: Emerald Programming Language / VixenVM
« Reply #37 on: May 14, 2011, 09:56:48 pm »
Don't worry, you don't have to -- all you'll have to understand is the Emerald Language itself ;)

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
Re: Emerald Programming Language / VixenVM
« Reply #38 on: May 14, 2011, 09:59:18 pm »
so when do you expect to have a guide for programming in it released?
What platforms will it work on?
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y

Ashbad

  • Guest
Re: Emerald Programming Language / VixenVM
« Reply #39 on: May 14, 2011, 09:59:51 pm »
Prizm for now, I'll working on a doc ;)

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
Re: Emerald Programming Language / VixenVM
« Reply #40 on: May 14, 2011, 10:02:45 pm »
Will you port this to comp sometime?
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y

Ashbad

  • Guest
Re: Emerald Programming Language / VixenVM
« Reply #41 on: May 14, 2011, 11:00:16 pm »
Will you port this to comp sometime?

most likely, if the Prizm version goes well ;)

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
Re: Emerald Programming Language / VixenVM
« Reply #42 on: May 14, 2011, 11:16:41 pm »
OK because I will probably not get a Prizm anytime soon and wan to play around with this language
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y

Ashbad

  • Guest
Re: Emerald Programming Language / VixenVM
« Reply #43 on: May 15, 2011, 11:57:01 am »
That could take a while, but I can promise there will be a day ^_^

EDIT: getting some helpers would speed up the process :P
« Last Edit: May 15, 2011, 12:00:36 pm by Ashbad »

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
Re: Emerald Programming Language / VixenVM
« Reply #44 on: May 15, 2011, 12:44:06 pm »
I only really know python so If I ccan help I'll try but I doubt I can do much
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y