Argdown
argdown.org
argdown.org
I've met the concept of argument map for the first time, and had to google it to gain some understanding: https://en.wikipedia.org/wiki/Argument_map
http://www.argunet.org/wordpress-argunet-2/wp-content/upload...
It's a specific tool for argumentation. I don't think they need to explain what argumentation is.
Argument maps are intended to either analyze or formalize the sides of an argument, in one of two contexts:
• contexts like civic policy, where a third party (e.g. an analyst working for a politician) wants to create an executive summary of a debate for consumption by a policy-maker, usually by watching/reading, and then “digesting”, a lot of arguments. (In this context, it also helps to be able to merge argument maps, efficiently unifying nodes that are semantically similar while keeping their dissimilar children.)
• In cases of formal debate, where the goal of the debaters is, as often as not, not for one side to dominate the other with rhetoric, but rather for everyone to “adversarially collaborate” to discover the complete shape of the debate—to map all the pros and cons—so that they can then go over the mapped argument and judge its merits for themselves, rather than working form the incomplete information they started with (usually just the information held by their “side.”)
Combine these two, and you get “barristers on both sides of a court, working for a judge as analysts to help them understand both sides of a case”—as in truth-discovering (rather than guilt-deciding) judicial systems like Scotland’s; or as in grand juries or coroner’s inquests.
(You can also use argument maps in your personal life, if you want to be really objective about deciding whether to believe something. But the contexts in which there are so many good arguments on both sides that you’d get a different answer than the one you’d get by just listening to the debate with an open mind, would be rare. For a cute analogy, they’re “asymptotes of discourse”: places where you’re dividing infinite evidence by infinite evidence, and so need something more powerful than regular mental arithmetic to get a solution.)
I did formal (policy) debate and my goal was always to win. Are there forms of formal debate which are really oriented towards sketching out a complete argument landscape?
I find this POV difficult to understand. Maybe I'm misunderstanding (and what is "policy" debate vs plain old debate?)
. Did you want to win for a reason other than winning?
. Did you ever feel you were wrong but won anyway?
. Did anybody make you doubt your position? If so what was your response?
. My position is to find the 'truth' so if I'm shown wrong I'll accept it quickly. Do you think this is a flawed approach compared to yours?
Not hostile, but curious, thanks.
Policy debate is a formal style of competitive debate, characterized by a high degree of "game" like behavior and, most notably, the act of making arguments as fast as possible, so as to literally make it impossible for your opponent to answer them all.
Mostly its a high school thing, but there are some college leagues.
To answer your questions:
- Winning made me feel smart and cool.
- Never, but I also don't feel I was right either, really. I mean the relationship to the substance of the ideas in the debate is so tenuous. It really is a kind of high speed game of conceptual chess, more than an argument.
- The policy debater takes up and puts down positions like tools. One round you might make an argument you defeated in the previous round. You might argue against your very own position.
- As a data scientist (and a scientist and philosopher in general) I'm with you about truth being important (as far as that goes) but policy debate is much more about developing a facility with ideas. A certain detachment from specific ideas is actually very important to finding the true ones, and policy debate helps you see that.
On the other hand, it does make people cynical. I see a lot of what is wrong with this country in my training as a debater. Its a thing taught mostly to rich kids at private schools and it teaches them to bullshit, which is a critical skill if you're to lord it over the plebes. The world might be better off it we didn't know how.
My view these days is that I'm quite skeptical of strong claims made either way and that I prefer virtue ethics, which say we should focus less on complex schemes to understand and manipulate the world and more on our character moment to moment.
I've been studying the informal fallacies and it dismayed me to discover that lawyers typically USE, instead of AVOID, many of these fallacies... precisely because it wins cases. Their purpose is to win, not to be the most correct.
Winning is thus a perverse incentive in truth discovery. Maybe conflating competition with truth discovery was a bad idea? I guess, it's impossible to dispassionately plead a court case when livelihoods are at stake, and thus competition is inevitable...
I would like to think that if I was a lawyer arguing a case, and I knew that using a certain fallacy would work, I wouldn't use it... but who knows.
I don't think this exists yet, but it should. It may just end up with everyone arguing over what the meaning of "truth" is, but I'd still watch it.
Whether that happens in practice is... debatable.
I'm a bit baffled about this:
> merge argument maps, efficiently unifying nodes that are semantically similar
Is the merging done automatically? If so, this together with some other comments in the thread seems to imply that the software has an ontology mapped onto the arguments—which to my knowledge was so far a pipe dream for most people, on the order a bit below generic AI and somewhere around Watson. Am I mistaken, is there anything practical in this space? Or does the semantic mapping just mean lotsa handiwork?
I'm unfamiliar, but very curious--could you elaborate?
https://onlinelaw.wustl.edu/blog/common-law-vs-civil-law/
Not sure that Scotland really qualifies as a civil law?
"In civil law countries, judges are often described as “investigators.” They generally take the lead in the proceedings by bringing charges, establishing facts through witness examination and applying remedies found in legal codes."
"In contrast, in a common law country, lawyers make presentations to the judge (and sometimes the jury) and examine witnesses themselves."
Also, asked my wife who is Scottish litigator:
Most law that is case law but not criminal legislation is civil law. We not have an inquisitorial system system but in practice judges do ask questions regarding legal submissions made by parties.
First rule of explaining anything in an understandable way: define your terms.
Screenshot: http://www.argunet.org/wordpress-argunet-2/wp-content/upload...
I didn't find that too difficult to discover. It even seemed more interactive.
I abandoned Kialo with a conclusion that pro/con trees don't map well to reality; we need graphs of facts and their relationships.
(Also, my gut feeling is that when you're talking about "arguments" instead of "facts", "evidence" and probabilities, you're in business of convincing, not truth seeking).
But that's not to diss this project. As an implementation of pro/con trees it's excellent, and I'd prefer typing in this language a millon times more than clicking around Kialo.
It seems (but I might be wrong) that this syntax allows for nodes to also reference other nodes rather than embedding them (see e.g. the third example on the page, though it’s too trivial to tell if that’s what it’s doing for sure.) I think they expect you to draft the argument map, then go back over it and iteratively reduce it by manually normalizing duplicate sub-arguments into one canonical sub-argument in one place + references to it in other places.
> Also, my gut feeling is that when you're talking about "arguments" instead of "facts", "evidence" and probabilities, you're in business of convincing, not truth seeking.
Usually the point of this kind of software (argument-mapping software) is to, first, efficiently capture an argument that exists, either as a sort of “court stenographer” during the argument, or from a recording after the fact. You want the tree of pros and cons (really, rebuttals / consequents / syllogisms / a bunch of other smaller categories) because you’re trying to capture the structure of the discussion itself.
Then, once you have captured that structure, argument-mapping software has tooling to allow you to massage (refactor!) the discussion from its original shape, into one that lets you more efficiently get at the truth. Turn things graphical, assign arguments weights, unify duplicate branches, etc.
Argument mapping is not just about pro/con trees; but pro/con trees are a nearly-lossless way to capture how people actually debate things, so they’re a good “ingested primary source” format to keep around and refer back to when you’re trying to summarize and judge a debate (rather than having to listen to the audio transcript over and over, or read through a linear stream of debate text.)
We have used Kialo for exactly this. The parties that we suspect to start quarrelling about a decision have to capture their reasoning in a Kialo and send it to everybody before the actual meeting. And then we use the Kialo tree as a source document during the meeting. And if new arguments are brought up, the person taking notes just adds them.
Or if a heated debate ensues, one person starts mapping the arguments in Kialo, for later reference.
One problem we ran into though, is that older management folks seem to prefer traditional meeting notes, instead of hipster pro/con trees. Also, argument trees don't allow for nice print outs.
> I think they expect you to draft the argument map, then go back over it and iteratively reduce it by manually normalizing duplicate sub-arguments into one canonical sub-argument in one place + references to it in other places.
That can work with this application/language. It doesn't work with Kialo, unfortunately, where you had different people contributing different nodes of the tree and AFAIR maybe, sometimes, someone then going over the tree and cleaning it up.
> Then, once you have captured that structure, (...) massage (refactor!) the discussion (...) into one that lets you more efficiently get at the truth.
One thing I tried to say is that I believe an argument tree isn't a right end format here, both because it's about arguments (vs. facts and their relationships), and because it's a tree. I think the end format must be a directed graph, very likely containing cycles (mutually supporting arguments).
Why I don't like arguments in the final format? Because they're kind of like an applied function. They hide the parameters. You can decompose an individual argument into pieces of facts and their relationships; an argument takes those, and assigns hidden weights to them - you care about some facts and relationships more than others, and this is usually implicit in the argument (and a source of confusion when doing this multiplayer, a-la Kialo).
I think it'll be more productive to decompose the arguments and deduplicate the resulting graph, and then work at the facts-and-relationships level. The benefits are that all components are now much easier to objectively verify, and whatever conclusion you then read out of this graph could be validated easier.
Note I just think that it'll work better, I haven't really tried it. I have on my TODO list somewhere to take a particular nontrivial topic, like e.g. "animal suffering"[0], and try to decompose it this way to see whether this format will actually work in practice.
--
[0] - It's a topic on which I have no formed opinion at this point, only bunch of inconsistent feelings and heuristics, so I shouldn't have too many preconceptions and biases here. It also seems hard enough to teach me something about myself.
Can you clarify what you mean with cycles? As written it sounds like you think sound arguments contain circular reasoning...
I can see a branching opening and closing in a unidirected graph being the result of a sound argument^, but since you cannot move freely in both directions I don't know if it would count as a cycle.
^ The argument being: some process has a positive an negative effect (one thing happens, another thing never happens), the positive and negative effects are observed in nature, supporting the conclusion that the process in fact is the cause of the two effects.
I don't think modelling "from argument X follows argument Y" is productive; what's productive is modelling that observable phenomenon X is correlated with Y, or causes Y, or has this-and-that impact on Y. At this level, things can be stuck in feedback loops, either positive or negative.
Will increase in coal exports of Poland increase Poland's CO₂ footprint? Let's try to model it the way I think about it:
Coal exports
^
| [provides Z coal to]
|
| [needs α*X = A kWh for coal]
Mining coal <---------------------\
| |
| [provides X coal to] |
v |
Coal power plants |
| | |
| | [γ*X = Y kWh burning coal] |
| v |
| Electricity --------------------/
|
| [burned coal into β*X = N kg of CO₂]
v
CO₂ emissions
You have a cycle there: Mining coal -> Coal power plants -> Electricity -> Mining coal. Given A < Y, it's a negative feedback loop. It's a cycle that exists in real life (and the basis of the concept of EROI)!If this were a reactive model, you could tweak the value of Z to see how X, Y, A and ultimately N change. But even without reactivity, you can clearly see that the answer to original question is "yes, increasing coal exports will increase Poland's carbon footprint". And there's little left open to interpretation or accusations of subjectivity.
If you don't like the answer that the model gives, it also makes some alternative strategies apparent! In this case: can we find a way to reduce α or β to compensate? Or increase γ? Or maybe add an alternative CO₂ sink for the Coal power plants -> CO₂ emissions edge? Note that these alternative strategies involve manipulating reality, not your argument.
I think we should be doing more of this kind of modelling. Building more accurate maps of the world, and reasoning straight from them, instead of trying to build complicated webs of arguments.
Depending on context pro/contra is probably what can be generated from facts when comparing things, so facts should be persistent, pro/contra dynamically generated.
One thing I find manually written pro/contra trees don't capture is that the same observation can be simultaneously a pro and a contra, or can flip between being pro and a contra depending on strength of that observation, or surrounding context.
Ultimately, I find those trees a nice visualization, and writing them an interesting exercise in structuring your thoughts, but I'm not convinced whether or not they're helpful at getting to the truth.
A tree structure is great for it's simplicity. It maps well to most use cases I need, but not all of them. A strict tree is too limiting and cannot avoid duplication. I'd like a tool that could build a structure that is almost-a-tree would be visualized as a tree, but it would allow a special case linking between any two nodes.
A general graph lacks the necessary structure. Without the structure, the tool isn't really supporting me and I can just use the yEd graph editor. I could use some queries on the graph to shape it into tree on demand, but then I lose mind's spatial ability to navigate the graph.
I though about this topic a bit on numerous occasions, and I keep feeling that trees don't map well to this use case. I still think a directed graph is necessary, and likely one supporting cycles. The structure will be imposed by reality itself. Anything less than a directed graph will fail to capture causal relationships between entities.
yEd... well, I spent a lot of hours with yEd Live recently, and I have complaints :). Like, where's the ability to simply place a piece of text on a diagram as a node?! It's ironic, but it seems to me that in 2019, there still isn't a good tool implementing the simple concept of infinite, pannable, zoomable canvas for typing on it and building arbitrary directed graphs on it.
Regarding structure, I agree with you that directed graph is most powerful. But for visualization and editing I would propose shaping graph into a tree. This reshaping can be done many ways, it's like a query into a DB. Here's a quick mockup made in yEd: https://i.imgur.com/LGTNbuz.png
While directed graph is necessary for internal data representation, tree structure is a perfect fit for many specific cases: categorization; argumentation (like this HN thread); tagging/grouping; lisp s-expressions. Trees capture those things beautifully, while enabling easy navigation with arrow keys or finger swipe.
Reshaping into tree allows for some neat layouts. For example, by scaling geometry down with each child, your whole graph can fit inside predictable area, without any node overlapping. See more here: http://treevis.net/
One could add a reactive capabilities to each graph node. The node would respond to different triggers by changing it's attributes, or relations to other nodes. The graph/tree can be built step by step via triggering specific node responses (add child, delete node, connect/disconnect). Responses could also change node attributes, to bring interactivity and ability to simulate mental models.
This is what I'm working on in spare time, but these days the bread-bringing job drains my energy away :( \
Great thread, BTW.
We should join some kind of communication group to see if we are after the same thing, and to track each others progress. Maybe a new reddit group?
I've created a Discord chat group for the project I've been wanting to work on. Please feel free to join with this link: https://discord.gg/7Ca3R8
I think we might have a few people in here who are working on different ideas in the same space, so it would be great to bounce ideas off each other. A Reddit group also sounds good!
I hope a bunch of interested people manage to organize and build something great!
GraphViz will go from text to whatever tree-ish graphical representation you want, but naturally there is some time investment required, especially if you want pretty output.
If I could conclusively establish that, on average, there's a 3% chance that your house is robbed this year, some people will view that as a risk to mitigate and some won't.
I'm happy to discuss this whole topic with interested people, as I think it is a very important problem. I believe it may be possible in the long-term to fix politics with these kinds of technology. I wanted to do my PhD in this area, but wasn't able to get any funding. So I'm starting a Startup now, that does graph-based collaboration software (with the future hope to bring more focus into arugment mapping): https://app.woost.space
If interested, I can also send you my master thesis, just reach out per email.
That's funny since for me it's the other way around, in philosophy "facts" are taken with great suspicion but arguments are fine.
I do find people who are analytical types sometimes greatly overestimate the "known" and underestimate the unknown / nuances.
[0] https://www.kialo.com/its-possible-that-early-belief-in-the-...
They've got a Language Server Protocol Implementation, VS Code Extension, Code Mirror mode, and more, and the code and even config files project wide are all very well done.
Great stuff.
Side note: I think diet advocates and climate enthusiasts would be in for a bit of a shock from such a resource when they have to deal with the fact that epidemiology and model building are some of the weakest forms of evidence. But I digress.
Such a website would allow people to gain insights, by gathering individual bits of evidence observed in various news articles, research papers, etc. and linking them together to form a larger picture.
> I would love to see this baked into a social network as a substrate for semi-structured debate.
Gaining insight and collecting disparate facts to form a bigger picture, an "argument map", with the ability for others to collaborate--that's exactly it.
However in addition to all the great use cases you've outlined, I also see potential for personal use, particularly in making structured decisions.
For example, purchasing decisions: researching to buy or not to buy widget X (in my case recently, sentiment analysis on stocks). With the creation of a simple browser plugin that allows you to highlight text and quickly add it to the map, it would make it easy to centralize all misc pieces of information supporting/rejecting a decision. Supporting "evidence" added this way will automatically link to the source, and optionally snapshot the page to ensure context of the particular supporting evidence is never lost.
I think it would be a fun project to create. If you ever think to actually work on this, or if you're interested in working on this together, let me know!
I actually just started seriously thinking about it again over the last few weeks, so this HN comment thread is really surprising! I'm definitely interested in helping with development, and maybe sponsorship at some point in the future.
EDIT: This HN thread was the kick I needed to get started, although I don't know how much time I'll be able to spend on it. I'm really busy with my startup, so this will have to be an evening/weekend project for now. I've just registered FactGraph.org. (I'm not 100% sure about the name, but I haven't been able to think of any better names.)
Names like KnowledgeGraph etc were what I came up with previously. I'll check my notes, think I had a few other good ones..
https://www.kialo.com/the-rebel-alliance-would-defeat-the-un...
https://www.kialo.com/should-people-have-the-right-and-means...
About the side note, what forms of evidence do you think are stronger?
I guess you probably mean something like "taking into account human element", but all I can see when someone says "rational thinking isn't a solution" is something that boils down to "2+2 = 4 doesn't feel right to me, 2 cows plus 2 apples is not like 4 cows, therefore math isn't the answer". There are rules to thinking, and just because some people fail to use those rules correctly, doesn't mean the rulebook is bad.
(I don't know if by reference to provoking a nuclear war you mean MAD, but I think there's a solid argument that MAD saved us from nuclear war, and if people relied instead on more emotional calculus, we'd nuke ourselves to extinction a long time ago.)
> What else than rationality would be better? Gut feelings? Emotional arguments?
Beliefs. :(
[0] https://www.kialo.com/should-hpv-vaccinations-be-compulsory-...
As an european, this never ceases to amaze me.
You can see this throughout the culture, from the legal system, to robust support for free speech, to the quite frankly Christian morality (a belief that there is original sin in the body politic that must be atoned for) that permeates even the most hardcore progressive, atheistic left.
You don't see this in countries with many political parties that each grab only a small piece of the pie.
There are plenty of americans who will form their opinion of you based on which sports team you like, as well.
I think your observation is not so much one of politics permeating all aspects as it is that our current culture is superficially tribalistic in nature, with many tribal signifiers being used.
This is a relatively new phenomenon that will hopefully not be around for long.
Most public policy debate is so empty as to be worthless, and these tools don't change that. The typical English-language dialectic debate suffers from poor metaphysics and ontology, and in the USA this is compounded by a society that shuns math and logic skills. The typical USA debate is about feelings, not about evidence.
There are two investigations into philosophy, namely speech acts and pragmatics, which happened in English-language philosophy first, and may be due to English itself.
And Christian Voigt apparently resides in Berlin.
* Pragma-dialectic school (Amsterdam, F. van Eemeren) [1]
* Argumentation Schemes & Informal logic, Univ. of Windsor, D. Walton [2,3]
* Rhethorics and Argumentation, Univ. of Waterloo, C. Tindale [4,5]
* Switzerland, Lugano Group (IALS) [7]
* Lisbon ArgLab Group, New Univ. of Lisbon, M. Lewinski, F. Macagno [6]
* Germany, Research Group for Nonmonotonic Logic and Formal Argumentation, Univ. Bochum [8]
* Germany, KIT Group, Karlsruhe Institute of Technology [9]
The last two groups are more to my taste, and there is also Chris Reed and his team in the UK. The prevalent theoretical traditions are argumentation schemes and informal logic in Canada, developed by Walton and his scholars, and the pragma-dialectic tradition in Amsterdam, developed by van Eemeren and his many scholars.
[1] https://gsh.uva.nl/content/research-masters/argumentation-rh... [2] https://www.dougwalton.ca/ [3] http://www.uwindsor.ca/crrar/ [4] http://www.uwindsor.ca/argumentationstudies/ [5] http://www.uwindsor.ca/crrar/ [6] https://www.arglab.ifilnova.pt/en [7] https://search.usi.ch/en/organisational-units/332/institute-... [8] http://homepage.ruhr-uni-bochum.de/defeasible-reasoning/inde... [9] http://debatelab.philosophie.kit.edu/
I gather it's a mix of sociology,philosophy,communication and logic?
I don't think, looking at the history of fields like logic, people from the US (guessing you meant that, not Americans in general) have more representation than other countries. Take a look at this list for example: https://en.wikipedia.org/wiki/List_of_logicians
I don't think that debating and abstract logic are very related fields.
Taking a topic, splitting into two teams and fighting it out with words until the victor remains is the exact opposite of what you want to do to reach any useful conclusion on any topic.
On the other hand, I don't think rhetoric matters more than facts. At least in my country, most of the arguments in the debate have to be based on some data/studies to be taken seriously. You still have to be a good speaker, of course, because you have to get the point across, but you can't win the debate without a prepared case just because you are charismatic.
Lots of times we had to argue for both sides during the tournament; the topics were chosen accordingly, as not to be "solvable". Of course in normal world you probably want to find some kind of compromise, but to be able to do that, you have to assess what each course of action will achieve. And debating helps you build the skillset to do just that.
For example, most of the debates we have done in high school we did from both sides; I don't think the general message was supposed to be "just argue loud enough and you'll be right", but rather "hey, look at this problem from these two sides. Crazy how both of them are partly true, isn't it?".
I think the human default is to stick to whatever your opinion is at the moment. Most of the people will never look from other POV. Maybe they won't even realise that the other POV can be right, when they are so sure they themselves are right.
I agree only if the debate's intention is to declare a winner and a loser. Having a formal session to discuss topic with opposing sides allows for well-planned arguments. OFf-the-cuff discussion, while useful, can only get you so far.
After a doc string put:
import docopt
args = docopt.docopt(__doc__, version='0.0.1')
Edit: krapht points out there is now support for multiple languages: https://github.com/docoptAnd the black text color doesn't work that well on most of the backgrounds :/
You can instead open a deeper layer, to instead counter that point.
i.e. the kind of thing that can happen with tree-comments, just with explicit structure.
Could also be useful if there was such a mythical tool that could gently teach people to debate in a more logical manner. The user would write their comment, but before it is submitted, it is analyzed and helpful tips or edits shown to the user.
As an aside, I wonder how good grammar checkers have become since the Word 97 days? My grammar is utterly terrible and I wish I could get it proofread before I make comments.
>As an aside, I wonder how good grammar checkers have become since the Word 97 days? My grammar is utterly terrible and I wish I could get it proofread before I make comments.
Try it for free, Google Docs added it recently for English. Otherwise, perhaps one of these dedicated sites or use their browser extensions, will be of interest:
https://languagetool.org/ https://grammarly.com/ https://www.gingersoftware.com/grammarcheck
People will fuss over red green color blindness as well. May want to add a small visual indicator that can be seen in a grayscale version, like a plus or minus above each box, or the words pro and con.
This is a starting point, an experienced designer should be able to find settings for a much better looking and functional default look.
With this tool you can ask for pro and con arguments and have a good way to write them down.
Arguments like this would be perfect for in-situ descriptions of design decisions.
This looks awesome. This would be way more cumbersome in plantuml.
Big thanks to authors.
“argumentation”, “pro & contra lists”, “dialectical relations” “premise-conclusion structures
..all appear within the first 100 words and I don’t know what any of them mean. I’m a a native English speaker with a technical education and I am lost!
Is the site aimed at some profession where these words are commonly used?!
- argumentation should be arguments or in more words: "these are the arguments I'm presenting to support my claims."
- pro/contra is pros/cons
- I have never heard the word 'dialectical'
- premise-conclusion structure I think is something like hypothesis-conclusion, maybe?
Really ? Instant gratification type ?
It's created by a philosophy professor and aimed at students of philosophy and other interested in argumentation, so yes. But the terms aren't all that hard to figure out.
- Argumentation, giving reasons in support of an idea or claim.
- pro and contra lists, lists of reasons for (pro) and against (contra) a claim.
- dialectical relations, the relations between the claims made in an argument. For example, how one claim supports or undermines another claim.
- premise conclusion structures, a conclusion is a statement of what is claimed to be true, and the premises are statements that support the conclusion. In arguments, these are structured (hopefully) by logical relations so that the premises have some bearing on the truth of the conclusion. The conclusion can be inferred from the premises. If the premises are true, the conclusion is true (or more likely to be true).
Here's an explanation of premise-conclusion structure by the developer [0]:
Logically an argument consists of nothing else but sentences. But these sentences play different roles in an argument. Every argument has one inferred sentence (the conclusion) and at least one sentence from which the conclusion is inferred (a premiss). This premiss-conclusion structure is visualised as a sentence list: First all premisses of the argument are listed. Each horizontal line symbolizes an inference. Under the line the conclusion is listed (sometimes there are preliminary conclusions). Under the last line stands the main conclusion of the argument.
[0]: http://www.argunet.org/2013/04/03/so-what-exactly-is-an-argu...
Argdown is a syntax for writing arguments made up of premises and conclusions in the form of pro and contra lists. It then creates a diagram of the relationships between the premises and conclusions.
There's a better explanation here: http://www.argunet.org/2018/10/26/new-beginning-introducing-...
I clicked on the link, and my thought process was something like:
The name invokes markdown, so it sounds like something for marking up args but I have no idea what args are.
> A simple syntax for complex argumentation
What does that even mean?
Clicked on "Getting Started" and immediately it wants me to install something and/or use a sandbox. Well, I'm not going to install anything when I have no idea what it even is, and I'm also not going to bother trying out the sandbox because I have no idea what it is.
The next three text blocks on the main page:
> Simple - Writing pro & contra lists in Argdown is as simple as writing a Twitter message. You don't have to learn anything new, except a few simple rules that will feel very natural.
Oh, so it's a markup language for writing lists?
> Expressive - With these simple rules you will be able to define complex dialectical relations between arguments or dive into the details of their logical premise-conclusion structures.
No wait, it's a markup language for making mind maps?
> Powerful - Your document is transformed into an argument map while you are typing. You can export your analysis as HTML, SVG, PDF, PNG or JSON. If that is not enough, you can easily extend Argdown with your own plugin.
Well whatever this is, it can export to other file formats. Too bad the website never bothered telling me what it was, so by this point I just gave up.
Though personally I'd still like to read up on the technique.
/* Example */
digraph {
/* Note: HTML labels do not work in IE, which lacks support for <foreignObject> tags. */
node [rx=5 ry=5 labelStyle="font: 300 14px 'Helvetica Neue', Helvetica"]
edge [labelStyle="font: 300 14px 'Helvetica Neue', Helvetica"]
A [labelType="html"
label="A <span style='font- size:32px'>Big</span> <span style='color:red;'>HTML</span> Source!"];
C;
E [label="Bold Red Sink" style="fill: #f77; font- weight: bold"];
A -> B -> C;
B -> D [label="A blue label" labelStyle="fill: #55f; font-weight: bold;"];
D -> E [label="A thick red edge" style="stroke: #f77; stroke-width: 2px;" arrowheadStyle="fill: #f77"];
C -> E;
A -> D [labelType="html" label="A multi-rank <span style='color:blue;'>HTML</span> edge!"];
} digraph G {
subgraph cluster_0 {
style=filled;
color=lightgrey;
node [style=filled,color=white];
a0 -> a1 -> a2 -> a3;
label = "process #1";
}
subgraph cluster_1 {
node [style=filled];
b0 -> b1 -> b2 -> b3;
label = "process #2";
color=blue
}
start -> a0;
start -> b0;
a1 -> b3;
b2 -> a3;
a3 -> a0;
a3 -> end;
b3 -> end;
start [shape=Mdiamond];
end [shape=Msquare];
}
Or, if you don't care about colors and shapes (which you probably don't on a first pass-through): digraph G {
subgraph cluster_0 {
a0 -> a1 -> a2 -> a3;
label = "process #1";
}
subgraph cluster_1 {
b0 -> b1 -> b2 -> b3;
label = "process #2";
}
start -> a0;
start -> b0;
a1 -> b3;
b2 -> a3;
a3 -> a0;
a3 -> end;
b3 -> end;
}
It's not the prettiest once you start using the advanced formatting features (some of which are already present in the first example), but it's simple and straightforward enough for manual or scripted graph layout/rendering across a broad range of use cases, and I highly recommend it as a go-to. I use it to autogenerate DAG plots in my multi-messenger astrophysics library documentation [1] and also manually to reason through things, though, again, I agree that Argdown's syntax looks better for the latter verbose use case.I was just disagreeing with the notion that Argdown is useful in the general case, where I find that graphviz .dot format is already closer to what I would want a general graph-layout markup language to look like (despite being far-from-perfect). It's less optimized for the verbose case, but it starts pretty minimal and can be extended without too much pain in whatever direction is best.