{{ message }}

# ymizushi / EmotionalHub

The interactive programming language for education and entertainment.

## Files

Failed to load latest commit information.
Type
Name
Commit time

# EmotionalHub

EmotionalHub is the interactive programming platform for amusement and education with Emola.

Emola is a kind of LISP programming language designed by ymizushi.

Try Emola

See SETUP.md

## Emola Language Specification

### Arithmetic operator

```(+ 1 1 1) ; Emola=> 3
(- 2 1 1) ; Emola=> 0
(* 2 2 2) ; Emola=> 8
(/ 4 2 2) ; Emola=> 1
(/ 1 3)   ; Emola=> 0.3333333333333333
(= 2 2)   ; Emola=> true
(= 2 1)   ; Emola=> false
(>= 1 1)  ; Emola=> true
(> 1 1)   ; Emola=> false
(<= 1 1)  ; Emola=> true
(< 1 1)   ; Emola=> false ```

### Binding

```(def hoge 1)
hoge
;Emola=> 1```

### Defiinition of function

```(defn calc (x y)
(* x y))
(calc 2 3)
;Emola=> 6```

### Local binding

```(defn calc (x)
(let (y 1 z 2)
(* x y z)))
(calc 3)
;Emola=> 6```

### If

```(defn calc (x)
(if (= x 1)
true
false))
(calc 1)
;Emola=> true
(calc 2)
;Emola=> false```

```(do
(def hoge 1)
(+ hoge 1))
;Emola=> 2```

### Message passing

```(send (point 100 100) toString)
;Emola=> {x: 100, y: 100}```

### Call Javascript built-in function

`(send (window) alert 1)`

### Create Circle

```(def c (circle (point 100 100) 200 (color 100 100 100)))
(draw c)```

### Create Rectangle

```(def r (rect (point 100 100) (size 100 100) (color 0 255 0)))
(draw r)```

### Create Line

```(def l (line (point 100 100) (point 1000 1000)))
(draw l)```

### Create Text

```(def t (text "hoge" (point 100 100) (color 50 50 50)))
(draw t)```

### Clear graphic context

`(clear)`

The interactive programming language for education and entertainment.

## Releases

No releases published

## Packages 0

No packages published

•
•

## Languages

You can’t perform that action at this time.