What does HackerNews think of WolframLanguageForJupyter?

Wolfram Language kernel for Jupyter notebooks

Language: Mathematica

SageMath (and the cocalc-docker image, and JupyterLite, and mambaforge, ) include SymPy; which can be called with `evaluate=False`

Advanced Expression Manipulation > Prevent expression evaluation: https://docs.sympy.org/latest/tutorials/intro-tutorial/manip...

> There are generally two ways to prevent the evaluation, either pass an evaluate=False parameter while constructing the expression, or create an evaluation stopper by wrapping the expression with UnevaluatedExpr.

From "disabling automatic simplification in sympy" https://stackoverflow.com/a/48847102 :

> A simpler way to disable automatic evaluation is to use context manager evaluate. For example,

  from sympy.core.evaluate import evaluate
  from sympy.abc import x,y,z
  with evaluate(False):
    print(x/x)
sage.symbolic.expression.Expression.unhold() and `hold=True`: https://doc.sagemath.org/html/en/reference/calculus/sage/sym...

IIRC there is a Wolfram Jupyter kernel?

WolframResearch/WolframLanguageForJupyter: https://github.com/WolframResearch/WolframLanguageForJupyter

mathics/IMathics is the Jupyter kernel for mathics: https://github.com/mathics/IMathics@main#egg=imathics

  #pip install jupyter_console imathics
  #conda install -c conda-forge -y jupyter_console jupyterlab
  mamba install -y jupyter_console jupyterlab
  jupyter console
  
  jupyter kernelspec list
  pip install -e git+https://github.com/mathics/imathics@main#egg=mathics
  jupyter console --kernel=
  
  %?
  %logstart?
  %logstart -o demo.log.py
There are Jupyter kernels for Python, Mathics, Wolfram, R, Octave, Matlab, xeus-cling, allthekernels (the polyglot kernel). https://github.com/jupyter/jupyter/wiki/Jupyter-kernels https://github.com/ml-tooling/best-of-jupyter#jupyter-kernel...

The Python Jupyter kernel checks IPython.display.display()'d objects for methods in order to represent an object in a command line shell, graphical shell (qtconsole), notebook (.ipynb), or a latex document: _repr_mimebundle_(), _repr_html_(), _repr_json_(), _repr_latex_(), ..., __repr__(), __str__()

The last expression in an input cell of a notebook is implictly displayed:

  from IPython.display import display
  %display?  # argspec, docstring
  %display?? # ' & source code
  display(last_expresssion)
Symbolic CAS mobile apps with tabling and charting and varying levels of support for complex numbers and quaternions, for example: Wolfram Mathematica, Desmos, Geogebra, JupyterLite, Jupyter on mobile
Ok.

If you like Jupyter more than Mathematica as a front-end you can use wolframscript

https://www.wolfram.com/wolframscript/

as a Jupyter kernel:

https://github.com/WolframResearch/WolframLanguageForJupyter

You can use it with the free (for non-production use) Wolfram Engine:

https://www.wolfram.com/engine/

Because of the "crazy" license (I would say it's quite reasonable, essentially it disallows using it for anything else than development or in the context of non-commercial personal projects), the user interface [1], the support... I don't use Mathematica myself, I don't know what functionality is missing.

[1] the free wolfram engine is a command line (or API) application and the Jupyter interface is much more primitive than the real thing: https://github.com/WolframResearch/WolframLanguageForJupyter

There is a Jupyter notebook interface for the Wolfram Language:

https://github.com/WolframResearch/WolframLanguageForJupyter

Additionally, many IDEs support Wolfram Language for syntax coloring, command completion, contextual help, etc.:

http://www.wolfram.com/developer/