Omnimaga

General Discussion => Technology and Development => Computer Projects and Ideas => Topic started by: blue_bear_94 on January 07, 2014, 05:00:21 pm

Title: Bag (formerly Amethyst)
Post by: blue_bear_94 on January 07, 2014, 05:00:21 pm
Bag (formerly Amethyst)

https://github.com/bluebear94/bag (https://github.com/bluebear94/bag)

A long, long, time ago, I dreamt of a language based on those from graphing calculators. And now, you can try it out. (You could always, but now it's in a functional state.) It has some of the quirks of the languages that inspired it, but it has amenities to ease programming as well.

Note 2: updated to 0.6.0 on 12 April 2014 for lots of enhancements
Note: updated to 0.5.0 on 14 Jan 2014. Since getKey is bound to appear, I had to make code execution concurrent. Thanks goodness I didn't encounter any problems with concurrency ... yet.
Title: Re: Amethyst
Post by: DJ Omnimaga on January 07, 2014, 06:22:08 pm
Is the language syntax identical to TI-BASIC? Someone did a FreeBASIC language similar to 83+ BASIC before, but there were some differences and it seemed ASCII-art-only.
Title: Re: Amethyst
Post by: blue_bear_94 on January 07, 2014, 06:34:47 pm
Is the language syntax identical to TI-BASIC? Someone did a FreeBASIC language similar to 83+ BASIC before, but there were some differences and it seemed ASCII-art-only.
It is not identical to TI-Basic; for example, to get an element of a two-dimensional array, you use [A](3,4) in TI-Basic, for example, but a[2][3] in Amethyst. Another aspect is the first-class functions and lists, and Amethyst introduces the \ amd % operators. Built-in commands have a different syntax as well: you write Disp "HELLO" in TI-Basic but $:hluna("hello") in Amethyst.

TL;DR: 0
Title: Re: Amethyst
Post by: DJ Omnimaga on January 07, 2014, 07:12:21 pm
Ah ok I see. I tend to like similar stuff since when I port games, all I have to do is using Notepad Find/Replace. :P
Title: Re: Amethyst
Post by: blue_bear_94 on January 07, 2014, 07:51:21 pm
On one hand, using Notepad isn't the best idea; Amethyst requires a few special characters.
Title: Re: Amethyst
Post by: Sorunome on January 08, 2014, 12:49:34 pm
Sounds interesting :)
Title: Re: Amethyst
Post by: blue_bear_94 on January 08, 2014, 08:13:20 pm
Sounds interesting :)
I agree, but what do you like about this? What could use some improvement?

Spoiler For "Off Topic, or Is It?:
Code: [Select]
For i,1,100;$:hluna({i,"Fizz","Buzz","FizzBuzz"}[!(i%3)+2*!(i%5;EndFor
Title: Re: Amethyst
Post by: blue_bear_94 on January 24, 2014, 06:21:35 pm
Apologies for double-posting, but I'm about to release another version. However, someone else already had a language called Amethyst, so I need ideas for new names.

Spoiler For Linky:
https://docs.google.com/document/d/1_crqZ7HAKabVdlxGpvisXley8HG-EXcy8PvQGg1BxhE/edit
Title: Re: Bag (formerly Amethyst)
Post by: blue_bear_94 on April 12, 2014, 05:12:30 pm
New update is here, with bugfixes ($:hask()) and new features (such as disabling automatic value copying).