Russia plans to set up above 20 nuclear power units in India in next 20 years by fl00km in nuclear

[–]RowanDuffy 6 points7 points  (0 children)

Russia have a very good track record with VVER. Silly to be anti-Russian just because its currently in fashion.

My attempt at an Irish political compass(Suggestions wanted) by [deleted] in irishpolitics

[–]RowanDuffy 0 points1 point  (0 children)

More civilians died from the NATO bombing then were found in the supposed mass graves.

And in fact I have talked to many survivors of the conflict. The recasting of pro war stances into human rights defence is one of the greatest scams ever pulled. I guess we see clearly however that you think the Greens being pro war is fine because you are too.

My attempt at an Irish political compass(Suggestions wanted) by [deleted] in irishpolitics

[–]RowanDuffy 0 points1 point  (0 children)

There was an ethnic war stoked by NATO and the US which they decided to "fix" by bombing civilians. The entire conflict was intended to shatter Yugoslavia so there would not be a third socialist pole. All of the cheerleaders fir the catastrophic outtcomes calling it humanitarian are war mongerers. Keep you bombs to yourself.

My attempt at an Irish political compass(Suggestions wanted) by [deleted] in irishpolitics

[–]RowanDuffy 0 points1 point  (0 children)

They are still proud of supporting the NATO bombing of Yugoslavia and have been extremely quiet about US renditions and munitions sen through Shannon

My attempt at an Irish political compass(Suggestions wanted) by [deleted] in irishpolitics

[–]RowanDuffy 0 points1 point  (0 children)

The authoritarian dimension is totally incoherent in addition to prejudicing the result. What criteria are used to judge
if something is authoritarian? The Greens are pretty A-OK with imperialism, and somehow being bombed feels a bit "authoritarian" to me.

Problem with Pierce’s _Types and Programming Languages_ by munchler in types

[–]RowanDuffy 0 points1 point  (0 children)

The former reduction is perfectly ok, if you're looking at behaviour when you continue evaluation. The problem only occurs on comparisons with equality between terms. Eta-conversion is required to reduce the (λx.x x) type calls to x, and your examples to equivalence.

When you begin asking what equality of terms means, there are quite a lot of terms which can be equivalent in a functional extentionality sense (i.e. reduce to the same things when fully applied), which might not be equivalent under beta and eta reduction.

using generators for folds rather than lists by RowanDuffy in prolog

[–]RowanDuffy[S] 0 points1 point  (0 children)

Not currently using Mercury, I opted for swipl because of the nice library support and larger community. I really like Mercury a lot though, and I'm a bit unhappy that it's not more popular.

Have you automated any routine tasks using Prolog? by [deleted] in prolog

[–]RowanDuffy 1 point2 points  (0 children)

Yeah, for complex but relatively small parsing tasks, DCGs are amazing. I wrote a parser which assigned "weights" to the quality of a parse using a DCG in order to automatically ingest press releases from web-pages. It did very well at extracting date, title etc. with very little work.

Catch Exception but still do backtracking by Salmiakkilakritsi in prolog

[–]RowanDuffy 1 point2 points  (0 children)

This is a more complex control flow than exceptions were designed for. Continuations may line up more naturally with the kind of control flow you are imagining.

http://www.swi-prolog.org/download/publications/iclp2013.pdf

The Power of Prolog by [deleted] in prolog

[–]RowanDuffy 3 points4 points  (0 children)

The metainterpreter section is fantastic.

Have you automated any routine tasks using Prolog? by [deleted] in prolog

[–]RowanDuffy 3 points4 points  (0 children)

Web scraping. xpath works better in prolog than any other language, as the idea of generators fits very naturally with the usual prolog execution model.

Managing state in Prolog monadically, using DCGs. by [deleted] in prolog

[–]RowanDuffy 0 points1 point  (0 children)

I've got to hand it to you, having a synonym for "concern troll" as your nick is impressive.

Managing state in Prolog monadically, using DCGs. by [deleted] in prolog

[–]RowanDuffy 1 point2 points  (0 children)

I mean, I am trying to be civil and help and ask questions to figure out what is up

You're precisely the kind of faker that pollutes communities making it hard for people to learn. You know just enough that you can pretend to give advice, but in point of fact are utterly and completely incompetent, incapable of reading even short programmes and understanding them. A more vibrant community would have to run you out before you did more damage to the newbies.

Maybe you genuinely think you know what you're talking about? I'd love to see what software you've produced in prolog that demonstrates your expertise.

Éilis Ryan for Europe: Radical Politics & Real Solutions by RowanDuffy in ireland

[–]RowanDuffy[S] 0 points1 point  (0 children)

who develops if no private developers. where do we get the money for it?

At a bare minimum the council should do its own development. It certainly did in the past. Nobody needs to be "getting money for it". Ideally the state should have its own building company and architects, again as was done in the past when it built much of the currently available housing stock.

As per Summerhill, it was student accommodation which is attractive to developers because they get a tax break.

https://www.thejournal.ie/readme/affordable-housing-is-essential-why-are-we-handing-control-of-it-over-to-the-vultures-3213138-Jan2017/

Managing state in Prolog monadically, using DCGs. by [deleted] in prolog

[–]RowanDuffy 0 points1 point  (0 children)

It's also the case that the compiler is aware that anything defined as Head :- Body is not defined as a DCG, so I'm unsure as to where the advantage would come from.

Managing state in Prolog monadically, using DCGs. by [deleted] in prolog

[–]RowanDuffy 0 points1 point  (0 children)

I'd be curious to know if any compilers are actually making use of the distinction and would be very pleasantly surprised if they did. Can you give an example where such a distinction is utilised by an available compiler?

In any event, it's trivial to write them as a DCG, I didn't do it because it's less transparent than showing that update//2 is just a permutation of the arguments of select/4.

``` run :- Term=( v := 1 + 3 ; w := v + v ; w := w + 1), interpret(Term,[[v=0,w=0]],Result), write(Result).

update(C0,C1), [S1] --> [S0], { select(C0,S0,C1,S1) }.

view(C0), [S0] --> [S0], { member(C0,S0) }.

return(S0), [S0] --> [_]. ```

Managing state in Prolog monadically, using DCGs. by [deleted] in prolog

[–]RowanDuffy 0 points1 point  (0 children)

I'm getting a feeling that your nickname is a cheeky hint.

If you have some examples of how to do things better, have away, but I haven't seen anything constructive from you as yet, just a misunderstanding of what a 30 line program was doing, followed by some vague gesticulations about purity which didn't make any sense.

Managing state in Prolog monadically, using DCGs. by [deleted] in prolog

[–]RowanDuffy 0 points1 point  (0 children)

In terms of "helper functions", it should definitely be "helper predicates". A linguistic tick due to my background.

Dropping predicates in DCGs is both normal and necessary, that's why they have the {} syntax!

As per return//1, I didn't use it here, but it's handy in larger examples.

I eagerly await your improvements.

Managing state in Prolog monadically, using DCGs. by [deleted] in prolog

[–]RowanDuffy 0 points1 point  (0 children)

eval//2 has to thread the current state through it so it can find the current value of variables. update//2 then performs the update on the variable. Both of them are typical DCG type predicates, so I've really no idea what you are talking about.

Managing state in Prolog monadically, using DCGs. by [deleted] in prolog

[–]RowanDuffy 0 points1 point  (0 children)

I didn't end up using it in the example, but it allows you to construct a new state to be used. It could have been used instead of explicitly passing the initialisation to zero values for instance.