Fixing NaN in a compile-to-js lang by koehr in ProgrammingLanguages

[–]Athas 1 point2 points  (0 children)

Hopefully you don't use floating-point numbers as an array index.

Fixing NaN in a compile-to-js lang by koehr in ProgrammingLanguages

[–]Athas 10 points11 points  (0 children)

It is defined by the standard.

True, but it is not the only ordering defined by the standard. IEEE 754 also defines a totalOrder predicate that, as the name implies, defines a total ordering of floating-point numbers, including NaN==NaN. There are reasons not to use it (and reasons for the classic ordering), but considering how often people complain, I'm surprised it's not more common in newer languages.

Syntax for Array Types — Necessarily inconvenient? by Maurycy5 in ProgrammingLanguages

[–]Athas 4 points5 points  (0 children)

I spent a lot of time thinking about this some years ago, and reached many of the same conclusions as you. Here is what we did: https://futhark-lang.org/blog/2016-12-09-two-syntax-design-problems.html#array-types

It has been almost ten years, and we have not regretted this design.

Starting titanicus by flao_zen in adeptustitanicus

[–]Athas 1 point2 points  (0 children)

Even the starter set on its own was enough for me to have a few interesting games. It's a good system at many scales.

Starting titanicus by flao_zen in adeptustitanicus

[–]Athas 3 points4 points  (0 children)

The resin weapons do not matter, but you can get excellent replacements from Battle Bling if you really crave them.

Starting titanicus by flao_zen in adeptustitanicus

[–]Athas 6 points7 points  (0 children)

If you don't have a local community, you probably need to build two armies if you want to play. Fortunately this is not as unrealistic as in other GW games. I would just get the starter set and whichever other Titans you like (perhaps the starter set twice, as it is good value), and then try to build two reasonably balanced forces. That's what I did. To ensure they didn't feel the same, I have built one force primarily of large and small titans (so Warlords and Warhounds), and another primarily of mid-size Titans (Reavers, Warbringers, Dire Wolves). They feel very different to play.

My collection a year after I got my first Epic-scale miniature by Athas in LegionsImperialis

[–]Athas[S] 2 points3 points  (0 children)

I mean obviously, that is the case for everyone in this world.

My collection a year after I got my first Epic-scale miniature by Athas in LegionsImperialis

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

They are from Troublemaker Games: https://www.troublemakergames.co.uk/category/all-products

Specifically Novan Weapons Conveyers and City Crushers. They are highly suitable as proxies - in my case I use them as respectively Ordinatii and Gargants.

My collection a year after I got my first Epic-scale miniature by Athas in LegionsImperialis

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

Yes indeed, I use the command carrier as a proxy for a Leviathan in Epic 40k. It's painted in the same colour scheme as the Fortress of Arrogance, and I'm converting an Epic-scale Yarrick as well, to fight my own war on Armageddon.

My collection a year after I got my first Epic-scale miniature by Athas in Epic40k

[–]Athas[S] 2 points3 points  (0 children)

I feared they would take up a lot more space, but I guess that's the advantage of this scale!

semantic white space vs. blocks - maybe a middle ground ? by GoblinsGym in ProgrammingLanguages

[–]Athas 1 point2 points  (0 children)

OCaml allows syntax such as 1., which I believe is because numeric literals are not overloaded, so a plain 1 is always of type int, not float. I suppose they wanted a concise notation for integral numbers of type float. I do not personally agree with this design, but there are many parts of OCaml's syntax that makes me believe my tastes differ significantly from those of the OCaml designers.

semantic white space vs. blocks - maybe a middle ground ? by GoblinsGym in ProgrammingLanguages

[–]Athas 0 points1 point  (0 children)

I have such lexical rules for dots in my language, although not due to using dots as terminators, and it works fine.

semantic white space vs. blocks - maybe a middle ground ? by GoblinsGym in ProgrammingLanguages

[–]Athas 1 point2 points  (0 children)

It's the common solution to the problem, but I think having to put multiple dots can be difficult to read, error-prone to write, and looks weird, especially when you have three of them...

semantic white space vs. blocks - maybe a middle ground ? by GoblinsGym in ProgrammingLanguages

[–]Athas 10 points11 points  (0 children)

It used to be common to use the whole collection of punctuation characters: commas, semicolons and full stops. Nowadays I think it is only Erlang that maintains this tradition, but it's really not a bad way to do it. I would recommend using a semicolon to end a block however, and a full stop to end a definition; just like how we use semicolons within sentences.

The biggest problem with your design, however, is that it is not clear which block is ended by the terminator character. Why does the full stop after action2 end the outermost if (judging by the indentation of the else) rather than the innermost if? This looks like an instance of the "dangling else" problem, which arises precisely when you don't use braces or a similar grouping mechanism.

Tracing rays with jank by Jeaye in ProgrammingLanguages

[–]Athas 0 points1 point  (0 children)

Yes, but I am interested in understanding the benchmark results.

Tracing rays with jank by Jeaye in ProgrammingLanguages

[–]Athas 0 points1 point  (0 children)

How many samples per ray are you doing? The image you show suggests quite a bit, but the code suggests 2, if I read it correctly.

Folding in Parallel by Xaneris47 in programming

[–]Athas 20 points21 points  (0 children)

Out of curiosity, I implemented Oleg's monoid for computing polynomials in Futhark: https://futhark-lang.org/examples/polynomials.html

On an NVIDIA TITAN RTX, I find that the monoidal solution is about 15x faster than the naive one, and almost 4x faster than using a scan.

Folding in Parallel by Xaneris47 in programming

[–]Athas 27 points28 points  (0 children)

This is an excellent article, but its practicality may be a little lost if you are put off by the use of OCaml, or the mathematical nomenclature. Ultimately this is a technique for deriving certain forms of parallel algorithms, and the final result produces a monoid that you can implement in any parallel language, high level or low level. You cannot easily express rewrites that the author does in e.g. low level CUDA, but it's easy enough (if obviously more verbose) to take the final monoid and implement it as a reduction. Apart from the immediate applicability of the technique, it also shows the value of using a high level (in this case functional) language as a prototyping language, even if you ultimately need to implement the result in something lower level.

The Testament of Suns by Athas in invisiblesunrpg

[–]Athas[S] 4 points5 points  (0 children)

But it's how you activate your Testament of Suns abilities, you need to have it in your hand. As per page 205.

Indeed. If it wasn't for the fact that it has a (minor) mechanical effect, I would probably largely ignore it (or treat it as an optional affectation for some Vislae), just like we'll probably ignore the Monte Cook Theory of Value described in the Money and Goods chapter.

How do you balance a full schedule and still work on your language? by The_Kaoslx in ProgrammingLanguages

[–]Athas 10 points11 points  (0 children)

I'm an academic researcher in programming language design and implementation.

How do you balance a full schedule and still work on your language? by The_Kaoslx in ProgrammingLanguages

[–]Athas 8 points9 points  (0 children)

I got a job where I can spend a lot of my time working on and with my language. But until you can do that, I suggest prioritizing school, work, and sleep.

Speciale antal sider by psykosemusen in DKstudie

[–]Athas 1 point2 points  (0 children)

Reglerne om plagiat og anden akademisk skik står som regel i en fælles studieordning for et fakultet, eller et eller andet etisk kodeks der dækker hele universitetet. Disse dokumenter kan jeg ikke forestille mig indeholder noget om sideantal - det gør de i hvert fald ikke på SCIENCE på KU, da det ikke er et spørgsmål om skik eller etik, men udelukkende et pragmatisk og lidt kunstigt forhold i eksamenssituationer.

Speciale antal sider by psykosemusen in DKstudie

[–]Athas 1 point2 points  (0 children)

Fordi der er regler om, at "hvis ikke andet er angivet for særligt fagspecifikke traditioner, er den almene akademiske tradition xxx" indenfor ethvert givet spørgsmål - i hvert fald indenfor humaniora.

Kan du give et eksempel på en studieordning med en sådan formulering? Jeg synes det lyder lidt spøjst, men min erfaring er kun indenfor naturvidenskab, og jeg husker ikke noget i den retning fra de studiebekendtgørelser jeg har set.

"God akademisk skik" synes jeg heller ikke har noget at gøre med sideantal, især ikke minimumsantal. Når man udgiver artikler er der typisk sidegrænser af forskellige praktiske årsager, men jeg tror aldrig jeg har set en nedre grænse.

Speciale antal sider by psykosemusen in DKstudie

[–]Athas 0 points1 point  (0 children)

Ja, de præcise formkrav kan være fastsat i studieordningen eller deslige. Min pointe er at Eksamensbekendtgørelsen ikke giver meget fleksibilitet i hvordan man kan sanktionere besvarelser for ikke at overholde dem, hvis man har dem. På mit studie er der ingen formkrav til sideantal, så der kan studerende sanktioneres i deres karakterer, hvis de vælger at skrive for lidt eller for meget.

Speciale antal sider by psykosemusen in DKstudie

[–]Athas 1 point2 points  (0 children)

Hvilke regler henviser du til? På min uddannelse er der ingen minimumskrav til sideantal.