ClojureLanguage
ThoughtStorms Wiki
I'm won over. I'm now officially a big fan of Clojure.
(ReadWith MyClojureQuoraAnswers)
A LispLanguage dialect that compiles to JavaByteCode.
I originally thought it would be a faff. Lisp's verbose-when-compared-to-HaskellLanguage meets the JavaVirtualMachine. But now I got into it I'm starting to love it.
Compare ClojureLikeLanguages
Selling Points
- Great language design. Very clean and intuitive. Exemplary use of interfaces in the standard collections libraries.
- Immutable and lazy collections as default and prefered way of doing things.
- Great library via full Java compatibility / integration. (Clojure compiles to JVM bytecode and can both call and be called from Java)
- Emacs with ParEdit is a good dev environment.
- Great concurrency libraries.
How do you make a really great language?
Start with an already great one, and have the courage to make tasteful breaking changes.
In this case ... start with Lisp.
And then add :
- extra syntax. For data. This goes against Lisp's traditional disdain for syntax. But while extra syntax for code doesn't buy much, a bit of extra syntax for data turns out to be a great trade-off.
- immutability. Common Lisp and Scheme both tried to sell themselves as "multi-paradigm". Clojure reclaims its place as a FunctionalProgramming language. With the associated benefits.
My software in Clojure :
- CardiganBay the wiki-engine that runs this (ThoughtStorms) wiki. You are probably reading a static HTML site that was exported from Cardigan Bay. All of ThoughtStorms is now written in CardiganBay.
- Patterning makes geometric patterns with FP
- MindTrafficControl command-line edition is now Clojure.
Getting Stuff Done
- MatricesInClojure
- ClojureMachineLearning
- HyperFiddle to abstract away from the web client / server distinction in Clojure
- HumbleUI
- Autochrome
- ClojureTooling
- ClojureMusic
Funding for Clojure FreeSoftware projects : https://www.clojuriststogether.org/
See also :
- I checked out RacketLanguage too, and I think it's great. I just prefer certain things about Clojure. RacketVsClojure
Backlinks (109 items)
- AGoodIDE
- AdamJames
- AdamVermeer
- AgainstClojure
- Babashka
- BadSpreadSheet
- BankPython
- BobbiTowers
- BorkDude
- CRDT
- CTMX
- CardiganBay
- CardiganBayWorkspacePublishing
- CardiganBayWorkspaces
- CarpLanguage
- CategoryClojureDude
- ChristopheGrand
- Clerk
- CloSh
- ClojErl
- ClojureAndMakers
- ClojureAndToolsForThought
- ClojureDart
- ClojureDepsNew
- ClojureErrorReporting
- ClojureFlowOfControl
- ClojureForData
- ClojureGUI
- ClojureInExcel
- ClojureLanguageServer
- ClojureMachineLearning
- ClojureMusic
- ClojureQuil
- ClojureScript
- ClojureSpec
- ClojureStream
- ClojureTooling
- Cloxp
- Cognitect
- CommunicatingSequentialProcesses
- CoolProgrammingLanguageIdeas
- CoreAsync
- DCent
- DataFirstProgramming
- DataFlow
- DataRabbit
- DesktopFabrication
- DocumentsVsObjects
- Emacs
- EmacsLive
- ExtensibleDataNotation
- FerretLanguage
- FunctionalComposition
- GigaSquid
- HOP
- HeliotropeLanguage
- Hiccup
- HumbleUI
- HyperFiddle
- HyperFiddleElectric
- InstaParse
- JSONLD
- JanetCarr
- JankLanguage
- JavaVirtualMachine
- KotlinLanguage
- LLMsAnalyticSynthetic
- LackOfLiterals
- LawOfDemeter
- Leiningen
- LeiningenVersusTheAnts
- LispLanguage
- MarkDown
- MarkEngelberg
- MatricesInClojure
- MatrixReactiveLibrary
- MindTrafficGeometry
- MyClojureQuoraAnswers
- MySoftware
- NoteSpace
- ODoyleRules
- OnTaste
- Overtone
- ParEdit
- Patterning
- PhenotropicProgramming
- PhilJones
- PhilsFavouriteProgrammingLanguages
- PhilsNewLinux
- Piratidal
- ProgrammingLanguagePlatformWar
- ProgrammingLanguages
- ProjectThoughtStorms
- RacketLanguage
- RacketVsClojure
- ReactiveProgramming
- RedPlanetLabs
- RichHickey
- SciCloj
- SmallClojureInterpreter
- SmartAcademicNotebook
- SmartAsciiAsProgrammingLanguage
- StaticVsDynamicTypes
- Tesserae
- ThoughtStorms
- WhyIsMyPhoneSoUseless
- Yogthos
- ZachOakes
- edna