/cl-julia-generator

Convert S-expressions to Julia lang code

Primary LanguageCommon Lisp

] add IJulia
using IJulia
  • minimal notebook
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "1+2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "some markdown"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Julia 1.7.1",
   "language": "julia",
   "name": "julia-1.7"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "1.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
  • pluto notebooks https://github.com/fonsp/Pluto.jl
    ] add Pluto
    import Pluto
    Pluto.run()
        
    ### A Pluto.jl notebook ###
    # v0.17.5
    
    using Markdown
    using InteractiveUtils
    
    # ╔═╡ 45ce7b9c-7066-11ec-29b0-13acfccc64a9
    a=2
    
    # ╔═╡ 99f6fe7c-37dd-49a9-b0ba-af87eb3f7bab
    b=a+3
    
    # ╔═╡ 00000000-0000-0000-0000-000000000001
    PLUTO_PROJECT_TOML_CONTENTS = """
    [deps]
    """
    
    # ╔═╡ 00000000-0000-0000-0000-000000000002
    PLUTO_MANIFEST_TOML_CONTENTS = """
    # This file is machine-generated - editing it directly is not advised
    
    julia_version = "1.7.1"
    manifest_format = "2.0"
    
    [deps]
    """
    
    # ╔═╡ Cell order:
    # ╠═45ce7b9c-7066-11ec-29b0-13acfccc64a9
    # ╠═99f6fe7c-37dd-49a9-b0ba-af87eb3f7bab
    # ╟─00000000-0000-0000-0000-000000000001
    # ╟─00000000-0000-0000-0000-000000000002
        
    • dependencies of packages and between cells will be stored by pluto in the julia file
    • whats up with the identifiers after ╔═╡? they seem to be uuid https://en.wikipedia.org/wiki/Universally_unique_identifier
      • do they encode hash of the cell’s contents?
      • it seems to be version 1, i.e encoding date-time with 100-ns interval and computers mac address
      • if notebook isn’t stored in correct format we get an error:
┌ Warning: Old Pluto notebook might not have loaded correctly. Backup saved to: 
│   backup_path = "/home/martin/stage/cl-julia-generator/example/02_pluto_notebook/source/run_00 backup 1.jl"
└ @ Pluto ~/.julia/packages/Pluto/xIB4x/src/notebook/Notebook.jl:315