Tag Info

Hot answers tagged

108

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 ...


26

Yes, we can... ...extend IntelliJIDEA and make it a smart IDE for Mathematica package development. I started to develop such a plugin for IDEA a while ago and before going into the details, let me show you how it looks. If you want to try it right away then please do it! Download the free Community Edition of IDEA, start it and go to Settings -> Plugins ...


23

I think what confuses most users who are new to packages is the larger question of where to put them and how to use them. I am going to discuss this in a larger context. Suppose you are working on some significant or extended topic, which we will call TopicX. This topic might include many notebooks of various kinds and several packages, and perhaps later ...


9

You'll want to at least look at chapters 1-2 of Roman Maeder's Programming in Mathematica for starters. That was the walkthrough I used when I was starting out with package writing. I'll update this answer if I can remember the other references I used. In particular: pages 47 to 48 of the third edition provide the listing of a file, Skeleton.m that is a ...


6

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 ...


6

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):


6

I like to use the Mathematica plugin for Eclipse (or the Workbench) for development. It's very simple to build packages, you can write the documentation for your functions (as well as Guides and Tutorials) and you can deploy your package to your Mathematica installation so both your functions and the documentation are integrated with the built-in ones. It ...


5

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.


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.


4

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 ...


3

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 ...


3

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 ...


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 ...



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