*Juliar * New Programming Language

Hey All,

I am developing a new programming language: *Juliar *
It’s a functional language that focuses on the idea of recursion and that you should not write much code…only essential.

The code is being worked at https://github.com/juliarLang/juliar
Right now it’s written in ES6 ( a latest unreleased version of javascript) It can only run in beta browsers. However, it’s transpiled to ES5(released and supported version of javascript) which can run on any browser… If you are interested in this project. It’s a great opportunity to learn “NEW” Javascript and how to design a language. The community is growing everyday and it would be awesome if any of you willing to help in any way. Even if it’s just mentioning to a friend.

Thanks!

The official website is www.juliar.org

2 Likes

Sounds interesting, @Rattar. Sounds like an interesting concept to build a new language based on ECMAScript. I was only aware of one or two languages based on that, but was amazed to see how many languages stem from it on WikiPedia. Anyhow, good luck with the project.

(P.S. — just my view, but I don’t think having music on the home page is a very good idea. Kind of gives the wrong impression for me.)

I will give a try.:grinning:

This seems to grind against the core principles of Functional Programming to me:

*add 3 2 *
*import funny_math *
*add 3 2 *
*add 5 6 *

Output:

5
32 
56

The core ideas of FP are pure functions and no side-effects, did you mean to describe this language as functional programming?

1 Like

@ralphm

I took your advice and removed music. Thanks for an advice!

2 Likes

@markbrown4

The reason for that is that you are allowed to import “custom modules” which extend language. You are allowed to import and deport the modules at will. For example, you can have a module called “tropical math” where x+y is min(x,y) and x*y := x+y. Therefore for certain lines of code you can import the module and later deport it, i.e.
*+ 5 2 *import tropical_math *
*x 3 2 *
*deport tropical_math *
*

Which in result will give you 12 :smile:

In the functional programming world these types of side effects on the world are considered a bad thing.

1 Like

I see, ok. What would be an appropriate fix in functional programming? remove import commands?

1 Like

Importing to local variables would be a step in the right direction, an import shouldn’t be able to override globals on it’s own.

*import { add } from good_math *
*add 3 2 *
*import { add } from funny_math *
*add 3 2 *
*add 5 6 *
2 Likes

Noted! Thanks for the advice. I will add such syntax to next update!

Thanks :smile:

1 Like

On that topic of import / export it’s best not to reinvent the wheel.

There’s a lot of tools that do module loading and bundling and you should be trying to leverage those rather than code them yourself.

1 Like

Alright fair advice. The problem is, that the language itself can be ran on system (not just the web) and I am worried that if I rely on the other code, I would have to maintain two different versions, one for system, and one for web. Although, I am sure the other libs transpile. I will try out the requireJS and AMD and see how it goes.

1 Like

es6 style import/exports with System.js are more representative of what people coming from JavaScript will be familiar with in the future.

1 Like

Alright! I will use ES6 syntax import/exports. I hope they add more options though to ES 7

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.