proj-jasper-jasperIdeNotes1

table 5 of On the Syllogistic Structure of Object-Oriented Programming has a list of queries on OOP stuff that an IDE maybe should be able to answer: http://www.softlab.ntua.gr/~kkontog/publications/conferences/C5-2001.pdf

---

C#'s #region defines places for the IDE to allow to expand or hide

--

voidr 19 hours ago

link

You won't have good IDE support.

You won't be able to directly debug your code.

Also it can be really fun to reason about nested macros.

reply

--

(re: macros:)

Dewie 1 day ago

link

I think things like syntactic sugar is perfectly fine, as long as I can desugar it in a straightforward way. I want to be able to programmatically desugar some piece of code, not have to Google it each time I am curious.

--

A great example is the IPython notebook. The notebook doesn’t make Python better than other languages—it makes all languages better.

http://nbviewer.ipython.org/url/beowulf.csail.mit.edu/18.337/fractals.ipynb

http://gibiansky.github.io/IHaskell/demo.html

http://nbviewer.ipython.org/github/minad/iruby/blob/master/IRuby-Example.ipynb

--

bch 3 days ago

link

What are the first-class IDE-style features you want?

reply

millstone 2 days ago

link

I am not the person to whom you replied, but the feature I use most often in Xcode is Go To Definition (with command-click). This integrates with clang, so it knows how to navigate templates, overloads, etc. It also integrates with the build system, so it knows the correct header search paths, preprocessor macros, etc.

I imagine there are some plugins available for vi and emacs that try to provide these features, but I would guess they require some configuration and won't work as reliably.

---

IDE: for any given symbol, where was that symbol defined? for dynamically defined, needs runtime support too

---

" other code that can be very difficult to find. What is the type of that function? Is it a method of a class? If so, where is that class defined, and where is the instance defined? You can't necessarily find that out very easily from just the imports in the current module, or possibly not even with the imports together with the build-depends: field in the cabal file.

Even parametric polymorphism has a cost to semantic clarity. What are the types of the arguments of this function? "

---