last day (341 days later) » 

4:57 PM
Welcome to chat for: Programming Language Design and Implementation
This is a general discussion room, but please feel free to create more subject-specific rooms (a single room with every possible discussion isn't very helpful)
For playing with chat features:


Where you can play with chat features (except flagging) and ch...
For feedback:

Chat feedback

Problems with chat? Let us know...
and remember; please read the FAQ ;p)
Hello and Welcome to the Programming Language Design and Implementation Stack Exchange website/chatroom!
Q: The Real Essential Questions of Every Beta

asheeshrThe blog post Seven Essential Meta Questions of Every Beta gets linked to prominently from every beta's meta. However, this blog post is somewhat inaccurate and misdirects new users. In almost every beta, the site design question, for example, gets asked and undergoes a fair bit of discussion eve...

Congrats Redwolf Programs! Your proposal made it into private beta, now let's see if it will get out! :)
hell yeah baby
also f1rst p0st!
No owners yet.
5:00 PM
time to spam chat so I can get RO
(for legal reasons that's a joke)
The All New Programming Language Design and Implementation Stack Exchange!
well, I guess that works too
Now just move all messages from the old chat to here
I've copied over the owners from the previous room, you can take it from here.
thanks Mast
@Feeds Uh, ok :-)
5:01 PM
do you wanna be RO?
probably should've asked lol
Sure, can't hurt.
@Ginger Usually we ask first lol.
RO first, ask questions later
What do you want to do with the old one?
5:02 PM
Speaking of which, my "profile" on Dyalog's website added my official title today:
I don't think moving everything over is a very good idea, unless mods can do it without putting arrows everywhere
@Mast I say it should be frozen with the current latest message being the final one.
so I guess we just shutter the old one and add a notice that says we all moved to here
^^ agreed
although maybe also mention that everyone should move
Change the room description back there to point here.
@ROs, can I change the room name to The GC?
5:05 PM
@Adám not yet, we're voting on the name here
We should add Q feed, no?
already done
oh right, meta
Got the email.
Ginger has made a change to the feeds posted into this room
feeds have been set up
5:06 PM
@Ginger To the old room, yes. Not the new one.
oh right lol
Ginger has made a change to the feeds posted into this room
now feeds have been set up
now we... wait some more
I'll be honest: I expected more confetti
@Ginger I saw confetti.
Be the change you want to see
5:09 PM
much better
me when no tags
Maybe this is a good time to remind people that images and gifs can be oneboxed in chat. Oneboxing gifs is not necessarily a good idea, but I'll leave it up to the ROs how to deal with that.
Q: A guide to moderating chat

TarynChat is an offshoot of the main site, and using it is a privilege users earn early on during their time here. Chat is our place for: Real-time collaboration Meeting fellow members of the community Less structured, casual (but still roughly on-topic) conversation Our chat system e...

...we know that?
but thanks, I guess
I suppose an off-topic room would be a good idea
Until we get our own moderators the CM team will be watching over the site and of course community moderation is still a thing. So regular community members can vote, flag and review. Also meta is a thing that the community should participate in.
Q: How can you help Programming Language Design and Implementation make it from private to public beta?

SpencerGThanks to everyone involved in the definition and commitment phases for Programming Language Design and Implementation on Area 51, the community has made it into the private beta phase — congratulations! Now that Programming Language Design and Implementation is in private beta, there is still wo...

I was just about to post that lol
so, since it seems most of us are here:
CMQ: Off-topic room for PLDI?
5:16 PM
@Ginger The Garbage Disposal?
congrats @RydwolfPrograms, @Ginger, @emanresu, and @lyxal
@Adám yes
@Adám YES
perfect name
Are we renaming this room yet?
@RydwolfPrograms meta vote
ah right
5:17 PM
12 mins ago, by Ginger
@Adám not yet, we're voting on the name here
I’m user 45 :p
I love how "Similar Questions" is just all the questions on the site
Quick screenshot this momentous moment
That will take care of itself within a few hours :-)
5:24 PM
me when no oneboxes
hopefully that'll be resolved too
super excited for our first spam question
I think this is what most of our questions will look like
and probably should look like
but I don't know how to answer it, because I'm not familiar with Julia
thanks feeds
I got my first downvote :hype:
10 messages moved to ­Trash
I wonder: is it OK to post "it might be xyz" to questions like that?
What do you mean?
like, if I have a good idea as to why it might be, but I'm not 100% sure?
because the only way to get a definitive answer would be to ask a Julia dev
There was a discussion about it before
5:30 PM
I think that’d set a bad precedent
I think the conclusion was only answers with citations should be allowed
So you'd need to specify that in the question
got it
I don't really understand this question
5:34 PM
agreed, that's confusing
tho I think it means “how do I formally specify the syntax of my language”
Shouldn't the feed be… feeding?
I think they have been overfed
@Adám 30 minute delay go brrr
Hoho I can’t wait :P
5:36 PM
Will the feed bot say "first!"?
@Adám The feed for Code Review is nicknamed Captain Obvious. Because it tends to post questions a tad late.
should we have [tag:language-design]? feels redundant
thanks chat
I don't think we should have that.
@Ginger Every meta should have a talk about redundant and meta tags eventually.
5:43 PM
Although, all quesetions so far have been design, none on implementation. Should we have a way to distinguish at a glance?
@Ginger I think the site is designed to block tags like that. Let me check something.
@Adám I'll ask
I can set up NP here if y'all want
@Ginger Just call it [tag:design] if we do...
I am retracting my last message until further research is done into the matter.
It seems repuation on meta isn't synced with the main site?
And I gained rep from a vote on meta
Nvm it fixed itself
5:52 PM
@RydwolfPrograms do it
@RydwolfPrograms probably a good idea
at least for a little while
@mousetail Blame caching.
The feed should've said something by now...
posted on May 16, 2023 by Ginger

This site is about programming language design and implementation, which are different subjects. Do we think that tags to differentiate between the two are needed?

posted on May 16, 2023 by Someone

This edit to my question suggests removing the language-design tag because "that tag is implicit - all questions are about language design." I included the tag because not all questions are about language design: design and implementation are different topics that are both in scope. Should we have language-design and language-implementation tags?

posted on May 16, 2023 by ice1000

In Java, there are "SAM-interfaces" which are used as "types" for lambda expressions. In Haskell, there are dedicated types for functions. In Rust, there are no types for functions, but instead there are traits for functions. What are the differences between these approaches? For a new language, which one should be chosen?

posted on May 16, 2023 by Lee

How would one formally define a programming language? What are the ways in which one can think about how to communicate a programming language design? What languages and frameworks exist with which to define and describe programming languages? Are there different layers of abstraction and/or categories to consider? I've heard of K, which seems relevant and am wondering what alt

posted on May 16, 2023 by Glorfindel

What would be the easiest way to show if a newly designed language is Turing complete or not? Simulating a Turing machine could be cumbersome; can it be inferred from certain characteristics? For example, if it has condition-controlled loops and allows basic arithmetic, would that be enough?

posted on May 16, 2023 by Someone

I'm not aware of any language other than Python that uses indentation to denote code blocks. To me, it seems like the simplest way to indicate blocks, and it also encourages proper formatting by making code not work if it is not indented properly. I would expect it to be more widely used; are there drawbacks that I'm missing?

posted on May 16, 2023 by James Risner

Rust has a number of memory safety features. Is it possible to extend or enhance C or C++ to also provide similar memory safety features instead of using workarounds such as the Valgrind tool suite?

posted on May 16, 2023 by user16217248

C and C++ have no vector types or operations but many compilers offer their own non-portable extensions such as __attribute__((__ext_vector_type__())). The issue is vector types corresponding to vector registers and specific CPU vector instructions are not portable and the semantics vary for different CPUs. However they are conceptually similar: Applying the same operation to many

posted on May 16, 2023 by James Risner

Many programming languages (such as Java) make strings immutable to mitigate many potential serious security threats. Are there any major downsides or issues with a language having all strings immutable?

posted on May 16, 2023 by kouta-kun

A part of why Lisp's macros work so well is that the code is just a list of symbols, and so is easy to manipulate using a regular Lisp function. How could a language that uses a syntax more like Rust's or C's implement a way to modify code from code itself?

@Mast There it is
@Seggan I will this afternooj
5:57 PM
hoo that's a big block o posts
Nice, you beat me to it
I need 11 more
i have anothet q in my head but typing one-handed is too hard - holding baby
i also have a meta q
Your baby has 2 hands though, so it should still be a net plus for typing speed
5:59 PM
I’m mostly doing answers instead of questions
in fact I don’t have a single question yet
What’s the rep cap?
200 I think
Yikes how’d ya do it so fast
So close
6:02 PM
I need to ask the famous how was the first programming languages made. I heard some used a bootstrapping process.
Sounds like a good question
I think that’s for retro computing more
Wait I'm at +232 today
Ohhh wait
assoc bonus
@Seggan I think it fits, people still bootstrap compilers for new platforms
The [tag:precognitive] badge should be gold or at least silver IMHO
I got it
What’s the precog badge
6:13 PM
@Seggan For those that followed the Area51.SE proposal before the commitment phase started.
Mm so I should get it too
@mousetail Gold for founding a site, silver for joining before commitment, and bronze for joining after commitment before going beta?
Yep I have one
@Adám yeah
Or bronze for joining during commitment
We got 2 pages of questions already
posted on May 16, 2023 by Glorfindel

At the moment I'm writing this, I have 5 pending suggested edits, but I can't make any more. The maximum number of pending suggested edits should be 20 on beta sites, according to the FAQ, not 5. Has something been misconfigured? Or does the FAQ need an update?

posted on May 16, 2023 by James

Are there any benefits of a general tag for Domain Specific Languages (DSL) in the opposite of having specific tags based on technologies like tags for MPS, Langium, and XText?

posted on May 16, 2023 by zdimension

I used code blocks in an answer and the code isn't highlighted, although I specified the language (by writing ```rust). Is it a bug, is it expected behavior, am I missing something obvious?

posted on May 16, 2023 by user16217248

In many languages such as Java, strings and character arrays are distinct types. In Java one must use toCharArray() in order to use array semantics on strings. In C, strings and character arrays are more or less the same. A C string is just a character array with a null terminator. Otherwise there is no internal distinction between them. What are the advantages or disadvantages o

posted on May 16, 2023 by bigyihsuan

I have a language like this: var s is str ""; var l is list[int] []; var m is map[int]str {}; where [] is the empty list literal, and {} is the empty map literal. I want this language to have these type annotations be optional, and inferred by basing it on the literal: var s is ""; var l is []; var m is {}; However, this causes problems because, c

posted on May 16, 2023 by Lee

What quantative (metrics) and qualitative qualities are used to compare programming languages? Perhaps speed and memory usage on a given virtual machine or architecture. Is there a fair way, or is it always "apples and pears" to some extent?

posted on May 16, 2023 by Ginger

The ternary "if" operator is a syntactic construct for returning one of two values based upon a boolean condition. In most C-family languages its syntax resembles condition ? ifTrue : ifFalse. Some other languages, like Python, use syntax like ifTrue if condition else ifFalse or if condition ifTrue else ifFalse. What are popular options for syntax, and what are their adva

posted on May 16, 2023 by mousetail

In many C style languages the , binary operator takes 2 expressions and simply returns the second one: let a = 12, 42; console.log(a); // Output 42 This is quite useful, but many new languages don't have it. So I'm wondering if there is something wrong with it why my language shouldn't have it.

6:24 PM
@mousetail I got two :-D
I got three total in the meantime
Also I just realized rydwolf is radvylf here
Wait really
Also we seem to have a lot of questions duplicating each other. We should probably have a discussion on that sometime
@Seggan Really? E.g.?
6:34 PM
cmooon so close to repcap Duplicating my answer partially Duplicating an earlier one Also duplicating my answer
Oh, answers, not questions.
Oops, did I write questions?
I did…
yeah I meant answers
Luckliy plagarism flag exists now
This is not plagiarism and it SHOULD NOT BE FLAGGED AS THAT
6:38 PM
Whoa, calm down.
Just putting it in bold to make sure nobody does that, we don't need to kick off our new site with a bunch of misguided plagiarism accusations
I didn't read the questions so IDK if it's plagarism
Q: How to write a FOR statement without ripping off Python

Rowan BarkerSo I'm working on a programming language called Solstice, and I want to make some for statements, but I'm not sure how to format it any way but in the normal Python formatting (the only scripting language I know). I was wondering if anyone knew some unique less known ways to format it so I don't ...

Q: Can "no cyclic data structures" be enforced at compile time?

Radvylf ProgramsWhen using reference counting for garbage collection, memory leaks can occur when cyclic structures are created (an object which contains a pointer to itself, or a pointer to an object with a pointer to the first one, or so on). One way to solve this would be disallowing this in the first place. ...

nice, we broke 100 users
Uh oh, can we fix them‽
6:50 PM
@Ginger No way already?!
I guess we've given people time to add this to their calendars or something :p
@Adám doubtful, they're pretty badly damaged
I figured given the extended wait they'd all have forgotten us
I thought so too, but apparently not
I'm sure not gonna look this particular gift horse in the mouth tho
6:52 PM
Good, that's where I hid my wifi password
How is my answer about line wrapping at +7
I rescind my previous statement
@Bbrk24 mine about immutable string performance is at +6
my one-liner on lisp if is +7
my line-ending one is at +10
6:58 PM
Also, TIL that Raku has the same prefix/postfix keywords as Swift
place your bets, when will we get our first spam
@Ginger that's a q
How are y’all reviewing suggested edits when you don’t have 500 rep
maybe not something to celebrate, but a milestone nonetheless
Has anyone reddited
im assuming lyxal will when he gets on
7:03 PM
@Seggan Not sure about edits, but for close votes you get the permission by clicking the button
@Adám Quick question, APL's the one that uses high minus right?
Does it use it for negation, subtraction, and/or literal negative signs?
¯ only for literals. - for subtraction and negation.
7:04 PM
TI-BASIC uses it for negation, with the regular one being subtraction
Wait no literal?
I’m especially impressed that my first answer is at +7 because I’ve typed all of my answers so far oh my phone
@Adám Like C, there’s no literal minus, only negation applied to a literal
@Bbrk24 I know that
@Bbrk24 lol same
on your mober phone
@Seggan Authors of the post can always review it, they do not need the rep.
7:06 PM
Also it is weird seeing post and user IDs so small
it looks like my suggestion for the chatroom name is well-liked
all the same I'm going to hold off on changing it until tomorrow
@mousetail Posts like that are going to be fun in early beta. They'll feed meta posts about scope and comments.
7:14 PM
@mousetail haha funny answer number
I'm so tempted to comment "nice" on that answer
Q: Oneboxes aren't working in chat

GingerLinks to PLDI questions and answers don't onebox in chat. Examples:

Q: What are the pros and cons of having do...while loops?

Radvylf ProgramsOne somewhat rarely used, but still occasionally handy, feature of many programming languages is do ... while loops: var position; do { position = random_coords(); } while (is_inside_wall(position)); A do ... while is similar to a normal while loop, except that the body runs once before the...

Q: How can ambiguity with unary and binary operators be resolved?

Radvylf ProgramsMost languages use +/- for addition and subtraction, in addition to using +/- as unary prefix positive/negative operators (the former typically being a no-op). However, this can easily lead to ambiguity. For example, many languages include a ++ or -- operator. Sometimes these are prefix/postfix i...

wait, why the frick did those onebox
Q: How can ambiguity with unary and binary operators be resolved?

Radvylf ProgramsMost languages use +/- for addition and subtraction, in addition to using +/- as unary prefix positive/negative operators (the former typically being a no-op). However, this can easily lead to ambiguity. For example, many languages include a ++ or -- operator. Sometimes these are prefix/postfix i...

well of course now it works
@mousetail in nearly every language other than Python, indentation does not matter. Any Fortran programmer will tell you that the most profound change between F77 and F90 is that white space is no longer "significant" (to use your term), and that this was an extremely positive change. All of these things combined, provide compelling reasons to believe that "significant" white space (to use your term) is bad. — Nike Dattani 11 mins ago
I may be stupid
Yea I strongly disagree with him
7:17 PM
(I was referring to the onebox post, not that comment)
@Feeds For case 1 and 2 the messages should be by themselves.
I know
1 min ago, by Ginger
I may be stupid
that's why I said that
I cast the first dupe vote, i am codified in history now :P
It was self-delote
7:31 PM
remind me, did we decide to allow questions along the lines of "I'm working on a new feature for my language X, how should I implement it"?
isn't that the I in PLDI?
alrighty then
reviewing our stats on A51, right now we're doing pretty well
although those stats will certainly drop before private beta ends
> No beta users with 200 reputation yet
since this is day 1 0 we had a big spike in questions
Oh the spaceship guy joined
7:34 PM
@Adám 🤔
@Adám I’m pretty sure I do…?
Yeah, I have 201
> 0 avid users
Tomorrow I unlock the First Questions queue
I've got GRT running on PLD pinned now
me on my way to unlock privileges by doing absolutely nothing
@RydwolfPrograms you what?
7:37 PM
huh, i got "access review queues" which requires 350, but i have only 301.
@Ginger My review script
@Adám We've got access to the close and reopen queues, you just don't get the normal ones (first answers/questions, late answers, etc.) until 350
This'll be a race tomorrow :p
Actually it'll be a race five hours from now
UTC midnight is approaching fast :p
tick tock
@RydwolfPrograms methinks that [tag:multiple-answers] is redundant
Oh yeah that's a way vaguer tag name than I was thinking lmao
Q: Can anything be done to highlight non-syntax questions?

Norman RamseyAs the private beta starts, there are so many questions about syntax that I want to weep. Many of these questions are borderline unanswerable. Wadler's Law notwithstanding, if the site continues to be overwhelmingly about syntax, it's going to drive me away from the private beta mighty quick. C...

Q: Should we have a tag for WIP languages?

GingerAs PLDI is a site about programming language design and implementation (crazy, I know), we will no doubt recieve questions from users who are developing their own programming languages and wish for feedback on their handling of a specific feature. Should questions like these have their own tag? I...

Q: Are there disadvantages of including a never type?

user16217248A never type represents an expression that is never evaluated or the type of an expression that represents an unreachable point in a program. The return value of an exit() or abort() function could be of such a type. C partially implements this for functions only as _Noreturn but this is only a s...

Q: What are the advantages of compiling/interpreting a programming language?

Starship is go for launchCompiled languages are converted directly into machine code that the processor can execute. Interpreted languages give programs certain extra flexibility. What other advantages and disadvantages are there of each?

Q: What are some options for syntax for async/await?

Radvylf ProgramsSome languages, such as JS and Rust, make a distinction between normal/synchronous functions and async ones. An async function is typically syntax sugar for one which returns a future/promise, which like the name implies, will (theoretically) have a value at some point in the future. In order to ...

Q: What are the downsides of having types for floats and integers?

EthanWhat are the downsides to having different data types for floats and integers instead of just a number data type? I know that having different ones can improve memory usage. But are their any downsides other than some programmers using the language may not like it?

What I meant was like, list questions
Like, "what are different ways to do x"
7:40 PM
[tag:comparison] maybe?
It should be like, [feature-comparison] or sth tho
[comparison] could be confused with like, comparing data
yeah, as opposed to [tag:language-comparison]
CMQ: Should we discourage big list answers like They don't leverage the full power of the voting system, but that might not be something we want here, because it makes votes into an opinion system
IMO yes
lemme write another meta question
I only did that since it would only let me include one answer along with the question
7:46 PM
been doing a lot of those today
That's good :p
do we have meta feed?
I have seen much code in non-indentation-aware languages, and yeah I haven’t “seen lots of terrible code” — Seggan 38 mins ago
@Seggan Count yourself lucky. I certainly have. :P

  last day (341 days later) »