The Misty Programming Language
21–30 of 50 posts
Re: The Misty Programming Language
#22My initial reactions: The good: - network-crossing actor model, but with private addresses and built in routing and security capabilities - object component security - null means null - immutability - AWK-like pattern DSL - functino is a cool way to have your infix operators cake and eat it too as prefix functions The bad: - no type checking on variables, parameters, record fields, record shapes, actor messages, etc…
You just need to configure a Compose key. I encourage everyone to learn how to do this, it opens up a huge character repertoire that can be easily remembered how to type.
Re: The Misty Programming Language
#23Earlier quoted context omitted.
And makes syntax choices (strictness of spacing that forces verbosity) that instantly guarantees that I will never consider the language.
If you choose language based on syntax instead of semantics you miss everything with useful semantics which doesn't happen to use syntax you're familiar with. That seems a terrible loss. E.g. I deeply dislike the syntax of makefiles and xslt, but the declarative model is so good where it fits that it's worth dealing with the visual discomfort.
Re: The Misty Programming Language
#24It’s strange that the syntax is not afraid of using non-ASCII Unicode characters (e.g. « », ≤, ≈, ƒ) but then uses the ASCII digraphs /\ and \/ for logical AND and OR instead of ∧ and ∨.
Re: The Misty Programming Language
#25My initial reactions: The good: - network-crossing actor model, but with private addresses and built in routing and security capabilities - object component security - null means null - immutability - AWK-like pattern DSL - functino is a cool way to have your infix operators cake and eat it too as prefix functions The bad: - no type checking on variables, parameters, record fields, record shapes, actor messages, etc…
> - practically need to buy a new keyboard to type all the symbols like '≈', '≠', 'ƒ', etc You just need to configure a Compose key. I encourage everyone to learn how to do this, it opens up a huge character repertoire that can be easily remembered how to type.
But then my 5 work laptops all need the same thing configured for working on the train
Here's hoping someone talks him into just supporting normal ASCII symbols.
Re: The Misty Programming Language
#26Earlier quoted context omitted.
> - practically need to buy a new keyboard to type all the symbols like '≈', '≠', 'ƒ', etc You just need to configure a Compose key. I encourage everyone to learn how to do this, it opens up a huge character repertoire that can be easily remembered how to type.
Fair enough, but having to always remember to configure that on all my work machines is kind of a pain. Although I do use an ergodox with QMK firmware a lot so I suppose I could support that inside the keyboard. But then my 5 work laptops all need the same thing configured for working on the train Here's hoping someone talks him into just supporting normal ASCII symbols.
Also, some editors have this built in, like Vim with Ctrl+K [0], and a Misty IDE presumably would have some equivalent.
ASCII is quite limiting, so it would be nice if we could move a little bit out of that lowest common denominator.
Re: The Misty Programming Language
#27After saying that it's a dynamic general-purpose, actor language, the introduction talks about spacing style, comment style, naming and purity. That's very lackluster. Show me a Fizzbuzz or an advent of code. Tell me a story of why it exists. Now the only discussion I can have is why are there no reserved words and can we call our functions and variables "set", "call" and "def" then?
This is the spec for the language Douglas Crockford (author of the book "JavaScript: The Good Parts", the JSON specification[1], JSLint[2]) had explained in his famous talk: "The Next Programming Language"[3]. The "big things" in the language are the Actor model, favouring immutability and capabilities-based security. Presumably, there will be a flashy website later that actually motivates why you should use this lan…
Re: The Misty Programming Language
#28It’s strange that the syntax is not afraid of using non-ASCII Unicode characters (e.g. « », ≤, ≈, ƒ) but then uses the ASCII digraphs /\ and \/ for logical AND and OR instead of ∧ and ∨.
Re: The Misty Programming Language
#29Earlier quoted context omitted.
If you choose language based on syntax instead of semantics you miss everything with useful semantics which doesn't happen to use syntax you're familiar with. That seems a terrible loss. E.g. I deeply dislike the syntax of makefiles and xslt, but the declarative model is so good where it fits that it's worth dealing with the visual discomfort.
Can you recommend any learning material on XSLT that is not focused on the transform-XML-to-HTML use case?
I'm doing dubious things involving representing ASTs in XML which I'll probably post to github. Taking an example from that in the meantime. The setup is roughly a bunch of calls to xsltproc to turn one XML representation into another:
xsltproc --output thing.list.xml tree_to_list.xsl thing.tree.xml
I'm liking having a schema for the before and the after forms and generally having a much better time where each individual transform doesn't do very much. The general pattern is recognise the bits you're interested in and copy everything else through unchanged, and view a given .xsl transform as a XML->XML function in weird syntax. Google will find you an "identity transform" which looks like nonsense, a lot of functions can start by copying that and then adding a match for something you care about.One of my data representations is a tree where the information of interest is all in the leaves. That gets turned into a flattened list, then that list gets turned into a text file, then something else goes "oh that text file has C in it, awesome". Tree flattening looks like a reasonable thing to copy&paste in here, thus:
So yeah. The syntax is not wonderful. You write xsl: a lot, or at least your editor does. The documentation on this stuff all seems to be a bit java themed and the prevailing attitude seems to be that XML is an ugly thing from the before times. Though see also https://www.defmacro.org/ramblings/lisp.html. I'm working by trial and error instead of documentation but that's going well enough. The "oh, that's a tree? Have a declarative DSL for functional transforms to other trees" is a really compelling example of wondrous magic hidden behind insane syntax.(for a nice bonus effect, emacs is really clear on what editing tree structured documents means, and there's a "relax-ng" schema which you can use to find errors in the XML and to have emacs tell you lots of stuff about the document as you type it)
Re: The Misty Programming Language
#30It’s strange that the syntax is not afraid of using non-ASCII Unicode characters (e.g. « », ≤, ≈, ƒ) but then uses the ASCII digraphs /\ and \/ for logical AND and OR instead of ∧ and ∨.
Maybe Crockford is a Mac guy. It looks like all the extended characters are in the MacRoman set and -- on a mac keyboard -- typing ƒ is no more difficult than typing F. ∧ and ∨ are not easily available.
ƒ is ⌥f, « and » are ⌥\ and ⌥| respectively, ≤ is ⌥, and ≈ is ⌥x.
Edit: for non-Mac people, ⌥ is the "Option" key. Option+f gives you ƒ, and so on.
> ∧ and ∨
Well, you could always add them to Favorites on the "Emoji and Symbols" popup.