Live data from Hacker News

The Bosque Programming Language

microsoft.com

141–150 of 172 posts

Re: The Bosque Programming Language

#141

>For typed strings, String[T] the compare operator ignores the generic type and is based on the order of the underlying raw string e.g. both arguments are coerced to String. Why? What even was the point in making them 'typed' then? Also, what exactly are the relevant language-level details which BOSQUE contributes? It seems more like a large library than anything else.

> Why? What even was the point in making them 'typed' then?

To prevent you from passing a String as a String[Zipcode].

Re: The Bosque Programming Language

#143
i challenge the decision to not have explicit loops. the beauty of the original C construction was that it allowed for 3 events to occur inside each iteration: 1) normal execution of the body, 2) skip over the body but increment the counter, 3) exit the loop. When you have nested loops JS and AS3 let you name the outer loop and break out of it (thus re-introducing the FORTRAN GOTO which although that crank Dijkstra hated so much, occasionally is needed for this purpose). How are you going to stop a loop that might go on too long? sometimes you want to stop early. I don't see how you can stop the map().. or filter() operators. Just because early abort of a loop is not common doesn't mean it doesn't come up; it does inevitably so.

Re: The Bosque Programming Language

#144
Also, there is a slack group dedicated to future programming languages. I am the acting char of the next gen language developer's association, and am trying to get all the next gen language designers to be in communication with each other. Right now there is the Luna project (poland), Red, Parasail, Beads, Elm, Dark, and others. i will be sure to add an entry in our database for Bosque.

Re: The Bosque Programming Language

#146

i challenge the decision to not have explicit loops. the beauty of the original C construction was that it allowed for 3 events to occur inside each iteration: 1) normal execution of the body, 2) skip over the body but increment the counter, 3) exit the loop. When you have nested loops JS and AS3 let you name the outer loop and break out of it (thus re-introducing the FORTRAN GOTO which although that crank Dijkstra h…

Named loop breakouts aren't the e GOTO Djikatra was concerned aboutvbecause they are still block structured; “harmful” GOTOs are arbitrary, structure-defying jumps. Named loop breakouts do not break the coordinate-assignment capacity that Djikstra takes GOTOs to task for breaking.

> I don't see how you can stop the map().. or filter() operators.

You use an early-terminating operator like find or take. (The general solution is probably Clojure-style transducers, which compose in a way which enables, among other things, plugging termination conditions into an operator which otherwise isn't early terminating.)

Re: The Bosque Programming Language

#147

Earlier quoted context omitted.

> There's an English error on the very first sentence of the description on the Microsoft site. [emphasis added] The correct usage would be to talk about an error "in" a sentence, not "on" a sentence. Muphry's law get you every time! https://en.wikipedia.org/wiki/Muphry%27s_law

Surely you didn't mean too but the correct tense of "get" on you're sentence would be "gets"

> on you're sentence would be "gets"

this just gets better and better

Re: The Bosque Programming Language

#148

Earlier quoted context omitted.

I don't know anything about the language but the first form suggests immutability (return a new point with the y property = to value), the second looks like mutating a struct

I don't see anything intrinsically different about the two. If anything the established notation of mathematics for hundreds of years is that '=' implies immutability.

The second example suggests to me that `point` already exists, and we're mutating it by changing the value of its `y` property.
Post reply on HN