The New Objective-J 2.0 Compiler
The new Objective-J 2.0 compiler has three components: tokenizer, parser and code generator. The merging of this pull request brought major improvements to the tokenizer and code generator.
The new Objective-J 2.0 compiler has three components: tokenizer, parser and code generator. The merging of this pull request brought major improvements to the tokenizer and code generator.
The time has come to move Cappuccino to Node.js. Why move to Node? There are three main reasons:
Cappuccino's build system is built on top of narwhal + rhino (jsc on Mac OS X). Rhino/jsc is the Javascript engine, narwhal is a set of libraries that interface with the host system. Rhino requires Java and is very slow. Narwhal has been abandoned. In addition to these dependencies, our current build system relies on Posix binaries to overcome limitations in narwhal.
Objective-J 2.0 now supports pass by reference using the new @ref and @deref syntax. Pass by reference allows you to store a reference to a variable in a different variable and then to pass it around. Among other things this makes it possible to send a message which returns multiple values (one as the return value, and an arbitrary number as output variables).
Support for dictionary literals has today been added to Objective-J 2.0 in Cappuccino master. A dictionary literal allows you to allocate a CPDictionary with specific contents in a concise and readable manner.
Cappuccino 0.9.6 is a stable build of Cappuccino for those of you not yet ready to update to Objective-J 2.0.
Are any of the following true?
We're extremely excited to today unveil the new Cappuccino project website. We've been hard at work with this site for quite a while now, and we think it represents a major step forward for Cappuccino as an open source project.
The Cappuccino community is buzzing with activity. Here's a recap of recent news.
Followers of the mailing list will know that work on Objective-J 2.0 is in full swing. This improved compiler which will generate much faster execution performance for Cappuccino apps. Multiple people are working on various versions - Christopher Bruno, Martin Carlberg and Francisco Tolmasky. Presently Martin is trying out an acorn based parser with promising performance.
We're very pleased to today announce our new Cappuccino Issue Reviewers. You might already have seen them cleaning up the issue backlog over at GitHub, sometimes closing already fixed bugs, sometimes tagging and structuring up languishing issues.
Basic support has been added for NSDateFormatter in nib2cib. (Alexander Ljungberg)
Lazy support for bytes() and base64() added to CFData, +dataWithBytes and +dataWithBase64 methods added to CPData. (cacaodev)
capp_lint has been added to the Tools directory. capp_lint is a command-line tool to check code conformance with the Cappuccino style conventions. Anyone submitting pull requests should use capp_lint. Note that if you use the SublimeLinter plugin with Sublime Text 2, capp_lint is built in. (Aparajita Fishman)
If you have news about new projects in which Cappuccino is being used — internal or external — be sure to let everyone know!
Please pay special attention to the Fixes & Changes section, there may be changes that will affect your code.