# Imports

**URL:** <https://discuss.kotlinlang.org/t/imports/1571>\
**Category:** Language Design\
**Created:** [March 31, 2016, 1:03pm UTC](https://discuss.kotlinlang.org/t/imports/1571 "2016-03-31T13:03:44Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![y2k](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/y2k/32/2315_2.png) [@y2k](https://discuss.kotlinlang.org/u/y2k)\
**Post date:** [January 31, 2017, 6:06pm UTC](https://discuss.kotlinlang.org/t/imports/1571/2 "2017-01-31T18:06:54Z")

</div>

## Aliases for packages

First paragraph look like very useful feature for **developers how like write functional code**.

 ![](https://us1.discourse-cdn.com/flex019/uploads/kotlinlang/original/2X/9/98efc78470c4b6304c9263b1c97aedaef506b28c.png)  
For example, in big program clash on function signatures it’s very possible event.  
In Clojure it solved by namespaces, but in **Kotlin** we has nothing (see below).

## Alternatives:

- “Object/Component object” - restrice to hold all functions in one file and have bad syntax
- Hack with annotaion (see code) - even more strage syntax and not supports on JS/Native

```auto
@file:JvmName("Func")
fun's ....

//usage
typealias f = Func
f.fun1

```

## In my case it’s will be the best to write something like:

```auto
import org.app.domain as d
import org.app.presenter as p

fun main (args: Array<String>) {
    d.func1()
    d.func2()
    p.func1()
    p.func2()
}

```

## Maybe someone create proposal for KEEP?

---

_[View the full topic](https://discuss.kotlinlang.org/t/imports/1571)._
