emojicode

๐Ÿ˜€๐Ÿ˜œ๐Ÿ”‚ Worldโ€™s only programming language thatโ€™s bursting with emojis

ARTISTIC-2.0 License

Stars
3.2K
emojicode - 0.5.1

Published by thbwd about 7 years ago

๐Ÿ› This minor update fixes a bug that could prevents protocol from being casted.

If you have any questions, comments, feedback, suggestions or whatever you come up with, open an issue or follow Emojicodeโ€™s Twitter account now.

Have fun using worldโ€™s only programming language that's bursting with emojis!

emojicode - 0.5

Published by thbwd over 7 years ago

Emojicode 0.5 is a ground-breaking release, so ground-breaking that it even skips version 0.4. It mainly focus on under-the-hood improvements but also brings a lot of surface-facing enhancements like:

  • ๐Ÿ•ŠValue Types are more powerful than ever: Full support of instance variables, methods, type methods, protocols, generics and more. Value Types can even be casted generically at run-time.
  • ๐Ÿฆƒ Enums have an improved syntax and can have methods.
  • ๐Ÿšจ A light-weight but effective error handling concept has been introduced. Nothingness initializers have been removed in favor of error-prone initializers that are used in conjunction with the error handling system.
  • Emojicode supports Unicode 9.0 emojis
  • ๐Ÿซ and ๐Ÿณ are replaced by Assignment by Call
  • ๐Ÿปhas been removed.
  • ๐Ÿฑ Multi-protocols allow you to group protocols to a single type.
  • The compiler can infer protocols and multi-protocols when inferring types.
  • The s package got improved:
    • The ๐Ÿ˜› protocol can be used to determine equality and ๐Ÿจs can test equality of lists.
    • A pseudo-random number generator was introduced: ๐ŸŽฐ
  • ๐Ÿ”ปType alias allow you to reference to types with secondary names.
  • Captures and closures are ๐Ÿ‡s now internally with less redundancy.
  • The compiler does proper path analysis and ๐Ÿ can be used in flow control structures now.
  • ๐Ÿš Some glitches with generics were removed.
  • Like hundreds of bugs have been fixed. At least they are gone now.

Under-the-hood, this release makes Emojicode really shine:

  • The Garbage Collector and Memory Manager have been reworked and many memory bugs have been fixed. Allocated objects are properly aligned with systems requirements to deliver more speed. Space is managed more thrifty and no more redundant wrapping into containers takes place. (Thatโ€™s massive, actually!) Instead, the compiler only sophisticatedly boxes stuff when really necessary.
  • The standard library now mostly uses standardized C++ APIs for the s package.
  • The Engine source code has been fully migrated to C++ and was cleaned up.
  • The compiler no longer writes corrupted binaries to disk and buffers files internally.
  • Last but not least, this update brings a much simpler, more intuitive and robust package API.

If you have any questions, comments, feedback, suggestions or whatever you come up with, open an issue or follow Emojicodeโ€™s Twitter account now.

Have fun using worldโ€™s only programming language that's bursting with emojis!

P.S. Installing Emojicode is so easy with ๐ŸŽฉ Magic Installation

emojicode - 0.3.1

Published by thbwd over 7 years ago

โš ๏ธ This release contains an important bug fix:

  • โžก๏ธ Fixes a serious memory bug
  • ๐ŸŽฉ Improves the Magic Installation to offer sudo

If you have any questions, comments, feedback, suggestions or whatever you come up with, open an issue or join the chat or follow Emojicodeโ€™s Twitter account now. We canโ€™t wait to hear from you!

The ๐ŸŽฉ Magic Installation allows you to install Emojicode in less than a minute!

Have fun using worldโ€™s most thought through programming language!

emojicode - 0.3

Published by thbwd almost 8 years ago

๐Ÿ™‹โ€โ™‚๏ธ Hey, there!

Itโ€™s been a long time, but itโ€™s still a pleasure for me to announce Emojicode 0.3 to you today! It contains a few but substantial changes over the last beta:

  • ๐Ÿ”’ Fixes faulty behavior with access levels
  • 1๏ธโƒฃ Allows keycap emojis to be used as identifiers (thanks to @ThatsJustCheesy)
  • ๐Ÿ—œThe compiler employs optimization techniques to remove unnecessary stuff. Our test file binaries are up to 84% smaller and 73% smaller on average. Thatโ€˜s huge, isnโ€™t it?
  • ๐Ÿผ makes initializers even cooler.
  • ๐ŸŒฎ You can now add documentation for a whole package.
  • ๐ŸŽˆ This is the first version of Emojicode to be released under a real open source license!

And hereโ€™s a list of all the other great stuff that changed since 0.2:

  • ๐Ÿ‡ Proper Scoping: Finally, Emojicode applies industry-standard scoping to blocks
  • โšซ๏ธ Expectations improves inferring on ๐Ÿจ and ๐Ÿฏ and saves you a lot of typing
  • ๐Ÿฆƒ Enums are now instantiated using ๐Ÿ”ท for consistency
  • ๐Ÿ“„ Enhanced Bytecode (Little Endian, more compact, lots of new instructions etc.)
  • ๐Ÿ•Š A new kind of type: Value Types
  • ๐Ÿš‚๐Ÿ‘Œ๐Ÿš€๐Ÿ”ฃ Better Value Types: Primitives were replaced by value type types which can be extended and have initializers, methods and type methods like classes.
  • ๐ŸŒถ Improved Capturing: Type Methods on classes andย [Type] Methods on Value Types can now be captured as well
  • ๐Ÿš„ A faster Garbage Collector: It is up to 5% (thatโ€™s a lot) faster
  • ๐Ÿ”ณ Reflection: Pass Classes as value and use them when you need.
  • ๐Ÿ Starting Flag Keyword: ๐Ÿ is now easier to declare and can either return โœจ or ๐Ÿš‚
  • ๐Ÿ• as type: ๐Ÿ• replaces ๐Ÿ“ and brings much better type safety.
  • ๐Ÿ“ž Sockets: The socket package introduces networking functionality.
  • ๐ŸŠ๐Ÿฆ Condition assignments are scoped to the following block and allowed in ๐Ÿ”
  • ๐Ÿ› Fixes a bug that let variables not work in literals, a bug in ๐Ÿš‚๐ŸŽฐ, ๐Ÿ”, #46, a crash with ๐Ÿ”‚ and ๐Ÿจ, a memory issue in the reporter, a bug with ๐Ÿฏ๐Ÿ†, and issues with generics.
  • ๐Ÿฆƒ Adds documentation support to enums
  • ๐Ÿฝ๏ธ The s package got a new protocol (๐Ÿฝ๏ธ) and interfaces were improved to be more consistent
  • ๐Ÿš‚๐Ÿง, ๐Ÿš€๐Ÿง, ๐Ÿ“‡๐Ÿ”ช, ๐Ÿš‚๐Ÿ”ฃ, ๐Ÿ”ก๐Ÿ“ซ, ๐Ÿ”ก๐Ÿ“ช, ๐Ÿ“ ๐Ÿ“‡, ๐Ÿ”๐Ÿ“‡ and โฒ๐Ÿ’ˆNew methods make the s package more powerful
  • ๐Ÿ“ฆ Introducing the allegro package for graphics (and remove the SDL package)

If you have any questions, comments, feedback, suggestions or whatever you come up with, open an issue or join the chat or follow Emojicodeโ€™s Twitter account now. We canโ€™t wait to hear from you!

Have fun using worldโ€™s most thought through programming language!

P.S. Installing Emojicode is so easy with ๐ŸŽฉ Magic Installation

emojicode - 0.3 Beta 2

Published by thbwd about 8 years ago

๐Ÿ™‹Hereโ€™s 0.3 Beta 2 which brings the following improvements over 0.3 Beta 1:

  • ๐ŸŠ๐Ÿฆ Condition assignments are scoped to the following block and allowed in ๐Ÿ”
  • ๐Ÿ› Fixes a bug that let variables not work in literals, a bug in ๐Ÿš‚๐ŸŽฐ, ๐Ÿ”, #46, a crash with ๐Ÿ”‚ and ๐Ÿจ, a memory issue in the reporter, a bug with ๐Ÿฏ๐Ÿ†, and issues with generics.
  • ๐Ÿฆƒ Adds documentation support to enums
  • ๐Ÿฝ๏ธ The s package got a new protocol (๐Ÿฝ๏ธ) and interfaces were improved to be more consistent
  • ๐Ÿš‚๐Ÿง, ๐Ÿš€๐Ÿง, ๐Ÿ“‡๐Ÿ”ช, ๐Ÿš‚๐Ÿ”ฃ, ๐Ÿ”ก๐Ÿ“ซ, ๐Ÿ”ก๐Ÿ“ช, ๐Ÿ“ ๐Ÿ“‡, ๐Ÿ”๐Ÿ“‡ and โฒ๐Ÿ’ˆNew methods make the s package more powerful
  • ๐Ÿ“ฆ Introducing the allegro package for graphics (and remove the SDL package)

This is a beta version and is expected to contain minor bugs and space for improvements. You are encouraged to test this version carefully, and report any found bugs here.

If you have any questions, comments, feedback, suggestions or whatever you come up with, open an issue or join the chat or follow Emojicodeโ€™s Twitter account now. We canโ€™t wait to hear from you!

Have fun using worldโ€™s most beautiful programming language!

emojicode - 0.3 Beta 1

Published by thbwd over 8 years ago

๐Ÿป

Proudly presenting Emojicode 0.3 Beta 1 which brings:

  • ๐Ÿ‡ Proper Scoping: Finally, Emojicode applies industry-standard scoping to blocks
  • โšซ๏ธ Expectations improves inferring on ๐Ÿจ and ๐Ÿฏ and saves you a lot of typing
  • ๐Ÿฆƒ Enums are now instantiated using ๐Ÿ”ท for consistency
  • ๐Ÿ“„ Enhanced Bytecode (Little Endian, more compact, lots of new instructions etc.)
  • ๐Ÿ•Š A new kind of type: Value Types
  • ๐Ÿš‚๐Ÿ‘Œ๐Ÿš€๐Ÿ”ฃ Better Value Types: Primitives were replaced by value type types which can be extended and have initializers, methods and type methods like classes.
  • ๐ŸŒถ Improved Capturing: Type Methods andย [Type] Methods on Value Types can now be captured as well
  • ๐Ÿš„ A faster Garbage Collector: It is up to 5% (thatโ€™s a lot) faster
  • ๐Ÿ”ณ Reflection: Pass Classes as value and use them when you need.
  • ๐Ÿ Starting Flag Keyword: ๐Ÿ is now easier to declare and can either return โœจ or ๐Ÿš‚
  • ๐Ÿ• as type: ๐Ÿ• replaces ๐Ÿ“ and brings much better type safety.
  • ๐Ÿ“ž Sockets: The socket package introduces networking functionality.
  • and more

This is a beta version and might contain bugs (new features, new bugs, you know).

If you have any questions, comments, feedback, suggestions or whatever you come up with, open an issue or join the chat or follow Emojicodeโ€™s Twitter account now. We canโ€™t wait to hear from you!

Have fun using worldโ€™s most advanced programming language!

emojicode - 0.2.2

Published by thbwd over 8 years ago

โš ๏ธ This release contains important bug fixes:

  • โžก๏ธ Fixes a compiler error that prevented accessing namespaces properly (see also #42)
  • โžก๏ธ Fixes a bug that could cause ๐Ÿฏ to break
  • โžก๏ธ Prohibit the use of ๐Ÿ“ in non-class method bodies (this led to crashes)
  • โžก๏ธ Fixes a bug that could lead to a compiler crash if an unknown variable was used (#44)

If you have any questions, comments, feedback, suggestions or whatever you come up with, open an issue or join the chat or follow Emojicodeโ€™s Twitter account now. We canโ€™t wait to hear from you!

Have fun using worldโ€™s most advanced programming language!

emojicode - 0.2.1

Published by thbwd over 8 years ago

โš ๏ธ This release contains important bug fixes:

  • โžก๏ธ Fixes a bug that could occur with value backed classes (see also #42)
  • โžก๏ธ Fixes a bug that could made the Garbage Collector disturb initialization

If you have any questions, comments, feedback, suggestions or whatever you come up with, open an issue or join the chat or follow Emojicodeโ€™s Twitter account now. We canโ€™t wait to hear from you!

Have fun using worldโ€™s most advanced programming language!

emojicode - 0.2

Published by thbwd over 8 years ago

The day we all were longing for and I intended to write something really great here... but I couldnโ€™t come up with something. I mean, the next version will be even greater, wonโ€™t it? ๐Ÿพ

At least, hereโ€™s what got improved since 0.2 RC:

  • โค๏ธ Polished API
  • ๐Ÿค• Fixed a bug

Emojicode-0.2.0-arm-linux-gnueabihf.tar was compiled on a Raspberry Pi 2 and should work for all Raspberry Pis. Emojicode-0.2.0-x86_64-linux-gnu.tar.gz was compiled on Debian and should also work on all its derivatives.

If you have any questions, comments, feedback, suggestions or whatever you come up with, open an issue or join the chat. Oh, and thereโ€™s even a Twitter Emojicode account now. We canโ€™t wait to hear from you!

Have fun using worldโ€™s most advanced programming language!

emojicode - 0.2 Release Candidate

Published by thbwd over 8 years ago

Because Emojicode 0.2 without a beta label sounds much better, hereโ€™s another, last version before, weโ€™ll actually and definitely call it 0.2. ๐Ÿ‘Œ

This release focuses on:

  • ๐Ÿ›ซ Added support for even more fancy emojis
  • Why not convert a ๐Ÿš€ (double) to a ๐Ÿ”ก (string) or the other way round?
  • Or ever wanted to use ๐Ÿšฎ (the remainder operator) on a ๐Ÿš€?
  • ๐Ÿšจ The compiler reports multiple errors at once.
  • ๐Ÿš Inferring generic arguments for generic initializers and methods!
  • Minor bug fixes

This is not a beta version. You are encouraged to test this version carefully, and report any found bugs here.

Emojicode-0.2.0-beta.5-arm-linux-gnueabihf.tar was compiled on a Raspberry Pi 2 and should work for all Raspberry Pis. Emojicode-0.2.0-beta.5-x86_64-linux-gnu.tar.gz was compiled on Debian and should also work on all its derivatives.

Thanks for using Emojicode!

emojicode - 0.2 Beta 5

Published by thbwd over 8 years ago

๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ

Mind the gap Emojicode 0.2 Beta 5!

This beta is published in the hope of it being the last beta. The following things drastically improved:

  • The package system was revamped to be so much more useful.
  • Introducing real threads
  • Introducing Generic Protocols
  • Reintroducing Iterators
  • Introducing the โš ๏ธ Deprecation Attribute
  • ๐Ÿ€ became ๐Ÿ“ and is more useful.
  • Improved standard library:
    • ๐Ÿจ allows random access writes.
    • Binary Operations on integers were added.
    • ๐Ÿ•ด: Run system commands from Emojicode.
    • JSON parsing is faster, complete and was renamed to ๐Ÿ“ฐ.
  • and much more

This is still a beta version because it is expected to contain bugs. If everything goes well, we are looking forward to release a release candidate in a short time. Stay tuned!

You are encouraged to test this version carefully, and report any found bugs here. If you have any questions or comments about this pre-release, join the chat.

Emojicode-0.2.0-beta.5-arm-linux-gnueabihf.tar was compiled on a Raspberry Pi 2 and should work for all Raspberry Pis. Emojicode-0.2.0-beta.5-x86_64-linux-gnu.tar.gz was compiled on Debian and should also work on all its derivatives.

Thanks for using Emojicode!

emojicode - 0.2 Beta 4

Published by thbwd over 8 years ago

๐Ÿฟ๐Ÿฟ๐Ÿฟ๐Ÿฟ๐Ÿฟ๐Ÿฟ๐Ÿฟ๐Ÿฟ๐Ÿฟ

Ladies and gentlemen, please welcome Emojicode 0.2 Beta 4.

We haven't been lazing around but have done quite some work to make Emojicode even better:

  • Introducing Generic Methods
  • Introducing Ranges
  • The compiler no longer enforces useless ๐ŸŽs (#26)
  • Improved standard library:
    • ๐Ÿจ got a new initialiser ๐Ÿง and many new methods: ๐Ÿฆ (Sort), ๐Ÿฐ (Map), ๐Ÿญ (Filter), ๐Ÿฏ (Every), ๐Ÿฆ„
    • ๐Ÿ“‡ received under-the-hood improvements and ๐Ÿฝ
    • ๐Ÿ”ก was given a ๐Ÿ”ก to ๐Ÿš‚ method at last
    • ๐Ÿš„
    • and much more
  • Fixed a few bugs (most importantly #27, #30)

This is still a beta version and is expected to contain minor bugs and space for improvements. You are encouraged to test this version carefully, and report any found bugs here. If you have any questions or comments about this pre-release, join the chat.

Emojicode-0.2.0-beta.4-arm-linux-gnueabihf.tar was compiled on a Raspberry Pi 2 and should work for all Raspberry Pis. Emojicode-0.2.0-beta.4-x86_64-linux-gnu.tar.gz was compiled on Debian and should also work on all its derivatives.

Thanks for using Emojicode!

emojicode - 0.2 Beta 3

Published by thbwd over 8 years ago

๐Ÿน๐Ÿน

Lean back and enjoy Emojicode 0.2 Beta 3!

We improved a lot of things:

  • Blazingly fast Dictionaries
  • Required initialisers work properly (#3)
  • The compiler recommends ๐Ÿฆ if ๐Ÿฎ is not necessary
  • Various bug fixes (most importantly #5, #25) and improvements

This is still a beta version and is expected to contain minor bugs and space for improvements. You are encouraged to test this version carefully, and report any found bugs here. If you have any questions or comments about this pre-release, join the chat.

Emojicode-0.2.0-beta.3-arm-linux-gnueabihf.tar was compiled on a Raspberry Pi 2 and should work for all Raspberry Pis. Emojicode-0.2.0-beta.3-x86_64-linux-gnu.tar.gz was compiled on Debian and should also work on all its derivatives.

Thanks for using Emojicode!

emojicode - 0.2 Beta 2

Published by thbwd almost 9 years ago

๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰

The first official Emojicode beta is hereby proudly announced.

This is a beta version and is expected to contain minor bugs and space for improvements. You are encouraged to test this version carefully, and report any found bugs here.

Emojicode-0.2.0-beta.2-arm-linux-gnueabihf.tar was compiled on a Raspberry Pi B and should work for all Raspberry Pis. Emojicode-0.2.0-beta.2-x86_64-linux-gnu.tar.gz was compiled on Debian and should also work on all its derivatives.

Thanks for using Emojicode!

Badges
Extracted from project README
Build Status Join the chat at https://gitter.im/emojicode/emojicode