Discussion New Language - Discussion

lep

Active Member
Reaction score
8
Anyway, I wanted to ask a few questions before I started making the layout of the language.
What kind of language (and features) do you want?
I can add any kind of feature you guys want, provided it's possible, and I can find a way to make it (efficiently, of course).

Oh, i want parametric polymorhpie, typeclasses, patternmatching, pattern guards, higher order functions, lambdas and function currying.

Good Luck.

P.s.: no fucking switch-statement.
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
@ToolTipError :
Wth do you want mean ?

Lyerae said:
I want to do "classes", which are basically like vJASS structs, but use a global hashtable (which will have some huge, odd name to prevent it from being used accidentally. (okay, not that huge, but something people wouldn't use normally.)) instead of arrays. What do you guys think about that?
Seems fine but the user must choice it, mostly because of the 256 limit of hashtable, and the rest for the speed freak.
 

tooltiperror

Super Moderator
Reaction score
231
Troll Brain, it would be like making player groups, unit groups, but for all variable types. Sort of like a data base. [ljass] function PoolSpecialAffect takes effect whichEffect, pool whichPool, returns nothing[/ljass] It would sort of auto-add it to an array, but without numbers.
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
Troll Brain, it would be like making player groups, unit groups, but for all variable types. Sort of like a data base. [ljass] function PoolSpecialAffect takes effect whichEffect, pool whichPool, returns nothing[/ljass] It would sort of auto-add it to an array, but without numbers.

It still doesn't make sense for me.
I don't see how a such thing could be useful, a concrete example ?
 

tooltiperror

Super Moderator
Reaction score
231
JASS:
scope example initializer init

     globals
         private effect pool allEffects
         private   unit pool allUnits
         private location pool allLocations
     endglobals

     private function actions takes nothing returns nothing
          call AddSpecialEffectLoc(lalala) //I`m not on NewGen, ignore it, just imagine I entered something to create an effect
          call PoolSpecialEffect(allEffects,"lastcreatedeffect") // This will add the last created effect to the pool or database
          call TriggerSleepActon(234.00) // !!!!TSA (Just throwing in some timing.)
          call DestroyPool(allEffects) // Deletes all effects, kills all units, or whatever it has to do to destroy everything in the pool
          call EmptyPool(allEffects) // Deletes all effects ever made from someone casting a spell, or it may just remove them all from the pool?

          //create some unit here
          call PoolUnit(allUnits,"lastcreatedunit") // Adds the last created unit to the pool/database
          call DestroyPool(allUnits) // It will delete all the units in the pool, since it`s a unit pool, and not an effect pool

          set examplelocation = Location(somex,somey)
          call PoolLocation(allLocations,examplelocation) // Adds the location to a pool
          call DestroyPool(allLocations) // Removes all locations from the pool, no destruction, I guess.
     endfunction

     function init takes nothing returns nothing
         local trigger trig = CreateTrigger()
         call TriggerRegisterAnyUnitEventBJ(trig,EVENT_PLAYER_UNIT_SPELL_EFFECT)
         call TriggerAddAction(trig,function actions)
     endfunction
 endscope
 

GetTriggerUnit-

DogEntrepreneur
Reaction score
129
In my mind, libraries, scopes and structs should be replaced with classes (still using "uses/needs/requires").

If you want to make the interface with WinAPI (without Qt or wXwidgets) I could help you on it. I've been working on how to make a WinAPI interface with .rc files.

-------

Also if you make it with Java, it will be portable without having to do the code again. The interfaces in Java are a piece of cake and also, Java is slower than C/C++ but, we're not doing a game so it's speed won't change anything.

-------

Whatever the coding language will be, what do you think of doing a dynamic error pointer, such as Eclipse or Netbeans does?
 

Kenny

Back for now.
Reaction score
202
Libraries should stay, classes would be cool, and scopes shouldn't exist.

The 'pools' being talked about just seem like a system someone would make, not something that should be added to a new 'language'.

If you could implement most of the features of vJASS, just with less bugs, and maybe some of the other things that people seem to go crazy over in cJASS (talking about defines and stuff), I'd be pretty damn happy, and would definately consider using the language.

If you can keep things simple (a little simpler than vJASS) and effective (possibly more efficient), then you are definately on the right track. After all, even if you just remade vJASS but better, that alone would be a good reason to use it.

Edit:

Wishful thinking:

- It would be totally an absolutely incredible if you were able to have a compiler for mac at some stage. Not necessarily for world editor, just something that tells me that what I have written will save if I copy it over.
- A new TESH/Horus would be kick ass, even though this is something completely separate.
 

GetTriggerUnit-

DogEntrepreneur
Reaction score
129
When I code vJass, one of the thing that pisses me the most are call/set keywords. I always forget them since no other language uses these and once I get back to another language, I put them :mad:. vJass without these would already be awesome.

It's easy to check if it's a call or a variable set. brackets. ()
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
Imho "scopes" are perfect for personal codes, it's kinda boring to requires needed common libraries for triggered spells, in example.
 

Kenny

Back for now.
Reaction score
202
Scopes just seem redudant. Libraries have all the functionality and more.

Want to make it have requirements? Sure! Just add some on the end.

Don't want to? Just leave them out.

Libraries allow you too both, people are just comfortable with scopes now after being 'told' long ago that scopes could be used for spells, while libraries are for systems.

Interface would be cleaner without scopes. Don't want unnecessary things.
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
Scopes just seem redudant. Libraries have all the functionality and more.

Want to make it have requirements? Sure! Just add some on the end.

Don't want to? Just leave them out.

Libraries allow you too both, people are just comfortable with scopes now after being 'told' long ago that scopes could be used for spells, while libraries are for systems.

Interface would be cleaner without scopes. Don't want unnecessary things.

If libraries which are never required by an other one are placed the last in the script then it would be fine, but that's actually not the case with vJass.

But on a second though, yes scopes shouldn't exist but libraries should be handled like i say.
 

Kenny

Back for now.
Reaction score
202
Yes, libraries should indeed be handled differently. Which is something to look into. ;)
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
Hmm wait ...
No it's still different to "scope" the common libraries must still be required at least one time by an other one.
Yes i know i can make a library which requires all used libraries but it's still annoying.
 

tooltiperror

Super Moderator
Reaction score
231
Why not rename libraries so we don`t completely copy vJASS? I`m thinking we should do something more interesting, like this, or we could do some .J type thing.

JASS:

 AIDS.J
 endAIDS


Or something else more Turing-Like.

JASS:

 start AIDS
 end AIDS


I really want to see libraries ending with their names.
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
Libraries are staying, though I think I like the the name "namespace" in stead of library.

Pools? I'm not quite sure what you mean on those.
On the topic of building this in Java, honestly, I don't like Java. Thouh I've been considering Python if I can find a cross-platform way to compile the parser.

Also, I'm considering adding a "hash" keyword for structs/classes, which automatically stores the information in a hashtable instead of an array, though it would do this automatically if needed.
 

tooltiperror

Super Moderator
Reaction score
231
Howabout extensions?

Code:
.L   --> Library
.S  --> Struct

JASS:

 AIDS.L
   UNIT.S
   endUNIT
 endAIDS
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
That looks like it would make the syntax messy.
 

tooltiperror

Super Moderator
Reaction score
231
Possibly.

We could also do it like this.

JASS:
.
 AIDS.LIB
 AIDS.END
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
Hmm. Interesting, but it still has the possibility of making the syntax messy...
It's definitely worth looking into though.
 

tooltiperror

Super Moderator
Reaction score
231
JASS:


 `aids.lib
 `aids.end

 *aids.lib
 *aids.end

 &aids.lib
 &&aids.lib

 ^aids.lib^
 ^^aids.lib^^

 (aids.lib<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile    :)" loading="lazy" data-shortname=":)" />
 <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile    :)" loading="lazy" data-shortname=":)" />aids.end)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    I ordered like five blocks for 15 dollars. They're just little aluminum blocks with holes drilled into them
  • Varine Varine:
    They are pretty much disposable. I have shitty nozzles though, and I don't think these were designed for how hot I've run them
  • Varine Varine:
    I tried to extract it but the thing is pretty stuck. Idk what else I can use this for
  • Varine Varine:
    I'll throw it into my scrap stuff box, I'm sure can be used for something
  • Varine Varine:
    I have spare parts for like, everything BUT that block lol. Oh well, I'll print this shit next week I guess. Hopefully it fits
  • Varine Varine:
    I see that, despite your insistence to the contrary, we are becoming a recipe website
  • Varine Varine:
    Which is unique I guess.
  • The Helper The Helper:
    Actually I was just playing with having some kind of mention of the food forum and recipes on the main page to test and see if it would engage some of those people to post something. It is just weird to get so much traffic and no engagement
  • The Helper The Helper:
    So what it really is me trying to implement some kind of better site navigation not change the whole theme of the site
  • Varine Varine:
    How can you tell the difference between real traffic and indexing or AI generation bots?
  • The Helper The Helper:
    The bots will show up as users online in the forum software but they do not show up in my stats tracking. I am sure there are bots in the stats but the way alot of the bots treat the site do not show up on the stats
  • Varine Varine:
    I want to build a filtration system for my 3d printer, and that shit is so much more complicated than I thought it would be
  • Varine Varine:
    Apparently ABS emits styrene particulates which can be like .2 micrometers, which idk if the VOC detectors I have can even catch that
  • Varine Varine:
    Anyway I need to get some of those sensors and two air pressure sensors installed before an after the filters, which I need to figure out how to calculate the necessary pressure for and I have yet to find anything that tells me how to actually do that, just the cfm ratings
  • Varine Varine:
    And then I have to set up an arduino board to read those sensors, which I also don't know very much about but I have a whole bunch of crash course things for that
  • Varine Varine:
    These sensors are also a lot more than I thought they would be. Like 5 to 10 each, idk why but I assumed they would be like 2 dollars
  • Varine Varine:
    Another issue I'm learning is that a lot of the air quality sensors don't work at very high ambient temperatures. I'm planning on heating this enclosure to like 60C or so, and that's the upper limit of their functionality
  • Varine Varine:
    Although I don't know if I need to actually actively heat it or just let the plate and hotend bring the ambient temp to whatever it will, but even then I need to figure out an exfiltration for hot air. I think I kind of know what to do but it's still fucking confusing
  • The Helper The Helper:
    Maybe you could find some of that information from AC tech - like how they detect freon and such
  • Varine Varine:
    That's mostly what I've been looking at
  • Varine Varine:
    I don't think I'm dealing with quite the same pressures though, at the very least its a significantly smaller system. For the time being I'm just going to put together a quick scrubby box though and hope it works good enough to not make my house toxic
  • Varine Varine:
    I mean I don't use this enough to pose any significant danger I don't think, but I would still rather not be throwing styrene all over the air

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top