# Tag Info

192

Well, the answer seems to be YES :) Here is my implementation of Minecraft classic game in Mathematica. Let’s start with some screenshots which were taken during the construction of the final scene which will be displayed an the end of this post. Features Blocks are creatable and removable One texture per block Player automatically jumps to the ...

78

This is a constantly growing answer. To make it easier to track the updates of this answer, I separate every added section and give appropriate headings. If you read this for the first time, please start directly below. Updates to this answer can be found at the end. Most important thing first: There is an Official website for the plugin and here is a ...

47

Preamble: Using git to version control your Mathematica projects is a good choice and you will not regret it. However, like with most tools, it has its own learning curve, the difficulty of which will depend on how comfortable you are with using unix style command line tools. While the basics of git are easy to learn and use (especially if you're a single ...

43

I wrote a package to automatically generate all the boilerplate needed for LibraryLink and for managed library expressions based on a template that describes a class interface: LTemplate Here's how it works Write a template (a Mathematica) expression that describes a C++ class interface This template is used to generate LibraryLink-compatible C ...

12

Here is a take for those using only the Mathematica front end and git. I recently starting using git so that I can work with other collaborators. It was relatively simple since we were using notebooks to create figures from imported data that was located in the same directory. In this case all the notebooks started with the line: SetDirectory[...

11

Here are my few cents to have some food for thought. Can't fit this in a comment. (1) I'd suggest indeed to take a look at the Wolfram Cloud preview and see that all tools to hook up computations to mobile apps will be there. Such functionality like listed below is specifically dedicated to that - for both: API hooks to your own mobile interfaces or ...

11

This is how I got my setup : download Eclipse, along with all the plugins you need (svn, cdt, texlipse, ...), from www.eclipse.org ; download Eclipse plugin for workbench from http://www.wolfram.com/services/premiersupport/workbench.cgi : you will have a choice between platforms : Windows, Macintosh, Linux, Eclipse; choose the last one (eclipse) and save ...

9

When this is unavoidable, I just refer to full contexts. This happens all the time when using Combinatorica, which defines Graph objects that conflict with V8's new built in Graph object. Here's a sample session (presented as an image to show highlighting and such):

9

First, I want to say that I don't like heavily formatted usages messages. A usage message should be a short description in a form of a simple ascii message, so that it can be viewed even without a front-end. Nevertheless, let me try to give you a hint here. I would do the following: write your usage messages in a separate package-notebook in the ...

7

In Mathematica, usage messages are typically for conveying a short description of how to call the function. Your text that talks about the options would be better placed in package documentation in the Details section. You can use Wolfram Workbench to generate package documentation that shows up in the Documentation Center.

6

If you're already using Workbench, I don't see any reason to switch to Eclipse+plug-in. CVS is included in Workbench, and you can still add additional plug-ins as needed. Likewise, if you're already using Eclipse for non-Mathematica work, I'd just install the Workbench plugin. As far as I'm concerned, the main difference is the icon. (There are of course ...

5

I am somewhat late to the party, but anyways. While the solution to use fully qualified names is totally legitimate, I dislike it because it couples the packages together stronger than I'd like. In this answer, I desribes a simple alternative. I was discussing the worst case scenario, where you actually do need both functions with conflicting names within a ...

4

I found, in the "Applications" section of the documentation of ClearAll, this authoritative recommendation: Unprotect and clear all symbols in a package, to allow it to be read twice: Begin["Private"]; Unprotect["*"]; ClearAll["*"]; f[x_] := x^2 Protect[f]; End[]; I don't see this advice in the guide here for Setting up Wolfram Packages, ...

4

When using automatically generated packages I am selective about which Cells I mark for Initialization and therefore transference to the package file. I don't find the need to include ClearAll in such cases. I do use a Unprotect / Protect paring which at least prevents additional definitions from accidentally being made elsewhere. A case where ClearAll ...

4

My advice is to keep things like this as simple as possible. I have found that copying the official documentation is adequate and generates few (... no) error messages. With v8, there appears to be a newer WRI style. Before this, usages were written function::usage = "function[arguments, options] does ..."; An example of this form can be found in ...

4

Like acl says, Quit[] kills the kernel, as does its synonym Exit[]. The complete internal state will be lost. When the MathKernel process isn't running, it is automatically restarted when you press Shift+Enter to evaluate an input line.

3

How about Quit[]/Exit[], which kills the kernel?

2

The answer to your question is given in the comments. In condensed form the answer boils down to: for version of Mathematica up to V.9.0.1, it can not be done. However, we have hopes that some sort of CDF player will available for iOS in the near future, perhaps as part of the shortly expected V10 release.

1

I had the same problem with the addition, that I have several machines (home, work, laptop) where I develop. What I wanted to have was a GetDev which works like the usual Get with the difference that it looks in my development folder for the package when it cannot not be loaded. Therefore, I'm using the following function GetDev when I want to load my ...

1

Since all names in System` start with an uppercase letter (or a non-letter), the easiest way to avoid name clashes with future versions of Mathematica is to start your names with lowercase letters. That doesn't prevent name clashes with other packages, of course.

Only top voted, non community-wiki answers of a minimum length are eligible