jwillikers has quit [Remote host closed the connection]
shicz1 has quit [Ping timeout: 256 seconds]
shicz1 has joined #riscv
cousteau has joined #riscv
shicz1 has quit [Ping timeout: 256 seconds]
shicz1 has joined #riscv
frost has joined #riscv
plantman has joined #riscv
<plantman>
is there a channel for RISC programming?
<cousteau>
RISC-V, or RISC in general?
<plantman>
not RISC chip design, but RISC CPU program making
<riff-IRC>
like RISC assembly?
<jrtc27>
that's an answer to a different question...
<plantman>
no risc programming, or is that not a thing?
<plantman>
RISC programming, what's the name for it?
<jrtc27>
RISC is an abstract categorisation, you don't do RISC programming, you write assembly for a specific processor that follows the RISC principles
<plantman>
what about RISC principles applied to computer languages?
<cousteau>
RISC-V is a microprocessor architecture, like ARM, x86, etc. RISC is a type of microprocessor architecture, and includes a wide range of archs such as RISC-V, ARM, AVR...
<plantman>
I've written a RISC translator
<plantman>
or compiler
<cousteau>
cool, what does it translate into what?
<jacklsw>
most of the questions here are instruction set
<jacklsw>
assembly mostly then
<cousteau>
yeah, there's very little discussion on chip design in this channel, as far as I can tell
<plantman>
my RISC compiler translates source to source, but is general enough to continue further into a typical compiler
<cousteau>
what source? assembly? C?
<plantman>
I currently have a java to C# translator working
<cousteau>
oh wow ok I wasn't expecting that...
<pierce>
Neither of those are close to being RISC aware
* cousteau
doesn't see how that's related to RISC at all
<pierce>
How is it a RISC translator?
<cousteau>
only hint of microprocessor architecture those would have would be if one of them is affected by some ABI details, such as the length of an int or the endianness
<cousteau>
pretty sure Java doesn't. No idea about C#.
<plantman>
well, RISC means computing, so the compiler is based on simplified use of C based languages, like java and C#
<cousteau>
only 25% of RISC means computing
<cousteau>
(the "C" at the end)
KombuchaKip has quit [Read error: Connection reset by peer]
<plantman>
it is based on a subset of java C# or C languages
<plantman>
so its RISC
<cousteau>
RISC is a type of microprocessor architecture, which has a reduced instruction set.
KombuchaKip has joined #riscv
<cousteau>
java and C# aren't microprocessor architectures, they're programming languages
<pierce>
Oh wow
<plantman>
of the 25-percent computing, what about RISC programming?
<pierce>
This is something real galaxy brain stuff
<cousteau>
do you know what an instruction set is?
<cousteau>
I was thinking more something like "add the content of registers 1 and 2 and put the result in register 3"
<sorear>
to be blunt "RISC v CISC" is best left in the early 80s, it's too dependent on other trends and debates of the time to be particularly meaningful to non-history studients today
<plantman>
well, from that WIKI, there should be implied RISC application VM-s
<sorear>
(in particular "CISC" means VAX, and if you've never studied VAX assembly you will come to incorrect conclusions about what was argued)
<cousteau>
Java and C# have more abstract statements like "age = current_year - birth_date.year;"
<cousteau>
Assembly has statements like "sub x2,x0,x1"
<plantman>
yeah the WIKI only talks about CPU-s
<cousteau>
"age = current_year - birth_date.year;" is a statement, which gets compiled into something like "sub x2,x0,x1" which is a microprocessor instruction
<sorear>
you can totally do subl3 current_year, year(birth_date), age on some ISAs
<plantman>
yes, I'm familiar with some instruction sets
<cousteau>
a microprocessor executes instructions, not statements
<sorear>
most assemblers support symbols
<cousteau>
but java and C# have statements, not instructions
<cousteau>
so I don't really see how they fit into the whole RISC scheme
<sorear>
(they don't)
<plantman>
if RISC is also about computing, not just CPU hardware aspect
<cousteau>
basically RISC is a concept related to microprocessor instruction sets
<plantman>
then it should be about simplified computing
<cousteau>
the "IS" in "RISC" literally means instruction set
<plantman>
ok
<plantman>
there is RISC-OS, but I guess that's a misnomer
<sorear>
in that case it's referencing a company name and also the Acorn RISC PC
<cousteau>
RISC OS is called RISC OS because it ran on a RISC processor
<cousteau>
not because the OS itself is reduced
<plantman>
cousteau: I didnt know that
<sorear>
RISC OS runs on your RISC PC, which is the successor to Acorn's earlier 6502-based PCs
<cousteau>
plantman: I mean, me neither, I just read that on wikipedia
<sorear>
the PC as a whole is not RISC but RISC _is_ the most salient difference from its predecessor
<cousteau>
https://en.wikipedia.org/wiki/RISC_OS "RISC OS takes its name from the reduced instruction set computer (RISC) architecture it supports."
<jrtc27>
(technically the archimedes came in between and risc os was called arthur for its original version)
<plantman>
ok, ok, its instruction set and nothing else... cool :-)
<jrtc27>
(with the rename to risc os coinciding with their next hardware product, the acorn risc pc)
<cousteau>
So basically, you want something to do with "subsets" of a language
<plantman>
yes
<cousteau>
the term "domain-specific language" comes to mind, although taht's not quite the same
<cousteau>
but I was thinking on things such as asm.js (now WebASM), which is a subset of JavaScript
<plantman>
guess wikipedia uses the term "dialect"
<cousteau>
basically what you were saying was that you've written a compiler that translates a subset of java to C# and vice versa
<plantman>
no, not vice versa, just the one direction
<cousteau>
...not really, I think "dialect" implies it does things differently, but not necessarily by being a subset; it can be an extension too
<cousteau>
like how GNU C is a "dialect" of C that adds some stuff on top of standard C
<jrtc27>
people sometimes use "mini" for this, though often in the context of bootstrapping their compiler
<jrtc27>
(miniperl, miniruby, ...)
<cousteau>
(the "reduced" in "reduced instruction set architecture" doesn't mean it's a reduced version of a larger instruction set, but that the instruction set itself is reduced, compared to other instruction sets that are more complex)
<plantman>
right, mini is good for what I mean
<cousteau>
"a subset of Java" would be the technical term for it anyway
<plantman>
ok
<pierce>
I don't think mini is appropriate, rather "incomplete transpiler"
<cousteau>
(maybe a "reduced subset", but I think that's redundant)
<plantman>
ok
<cousteau>
as for which channel would be topical, I guess if there's a channel that talks about compilers, lexers, etc they probably know about this
<plantman>
right, but so many compilers are so awefully complex
<cousteau>
there's a #compilers channel with very few people and no topic set, also ##programming for general programming and CS discussion
<cousteau>
sure, but I bet "making my own mini compiler just for fun" is a project many people have done at some point
<plantman>
thanks, I didnt know about #compilers
<cousteau>
me neither; I just found it on the list of channels by looking for "compiler"
<cousteau>
but ##programming has 625 users. Although whenever I've been there it was kind of a jungle.
<cousteau>
not a very focused channel, I mean
<plantman>
that's fun tho
<cousteau>
maybe in #compilers you have more luck in guidance about making your own compiler, or defining what it is. If it turns out to be dead (because 24 active users and 24 idle users are quite different things) you could try ##programming
<plantman>
yes I have ##programming on
<plantman>
thanks for elucidating what RISC is
<plantman>
guys
<cousteau>
cool :) you're welcome
<plantman>
and gals too
<dh`>
you can find guidance for making your own toy compiler by looking for notes/assignments from undergrad compiler classes
<plantman>
i'm a little beyond a toy compiler
cousteau has quit [Quit: ♫ I can't forget the day I shot that network down ♫]
PyroPeter has quit [Ping timeout: 245 seconds]
PyroPeter has joined #riscv
<plantman>
I've studied stuff like that and incorperated it
<plantman>
nobody seems to be responding on #compilers
<plantman>
jrtc27: you mentioned bootstrapping a compiler, would you happen to know, how to bootscrap gcc?
vagrantc has joined #riscv
BOKALDO has joined #riscv
riff-IRC has quit [Remote host closed the connection]
riff-IRC has joined #riscv
<dh`>
as in, build it starting with another compiler? pretty sure you can just read the directions
<plantman>
on ##programming they said that gcc cant "bootstrap up" for the past 12 years
<plantman>
it can only port sideways
<plantman>
(it requires a working C++ 11 (I think) in order to compile)
<plantman>
(because a lot of it is written in C++)
<muurkha>
plantman: you might want to talk to #bootstrappable
<muurkha>
they're trying to solve that problem
<plantman>
excellent, thank you! :-)
<muurkha>
(recently they're doing a lot of it on RISC-V, but not only)
<muurkha>
fwiw webassembly is not a subset of JS, although asm.js is. wasm has its own instruction set
shicz1 has quit [Ping timeout: 260 seconds]
shicz1 has joined #riscv
shicz1 has quit [Ping timeout: 245 seconds]
shicz1 has joined #riscv
<dh`>
"bootstrap up" from what? you need another compiler, it needs to be a C++ compiler
<dh`>
that's problematic in assorted ways but I'm not sure we get to assume that you ought to be able to build it using kencc
Doraemon has joined #riscv
NeoCron has quit [Ping timeout: 260 seconds]
<muurkha>
dh`: heh
<plantman>
bootstrapable.org says that gcc 4.7 could be compiled from any c compiler
<plantman>
not kencc, but you know, c89 or something like that
<muurkha>
gcc was compilable with K&R C for an awfully long time
shicz1 has quit [Ping timeout: 260 seconds]
shicz1 has joined #riscv
<plantman>
muurkha: wow, boostrapable.org has many complicated bootstrapping graph-theory graphs
<plantman>
i mean, dependancy graphs
<muurkha>
yep
shicz1 has quit [Ping timeout: 268 seconds]
<muurkha>
it's amazing what they've achieved
vagrantc has quit [Quit: leaving]
shicz1 has joined #riscv
<plantman>
yeah!
frost has quit [Quit: Connection closed]
shicz1 has quit [Ping timeout: 250 seconds]
shicz1 has joined #riscv
shicz1 has quit [Ping timeout: 250 seconds]
shicz1 has joined #riscv
shicz1 has quit [Ping timeout: 240 seconds]
shicz1 has joined #riscv
shicz1 has quit [Ping timeout: 260 seconds]
shicz1 has joined #riscv
winterflaw has joined #riscv
tekkamanninja_ has quit [Remote host closed the connection]
tekkamanninja_ has joined #riscv
EchelonX has quit [Quit: Leaving]
shicz1 has quit [Ping timeout: 260 seconds]
shicz1 has joined #riscv
torbjornsd has joined #riscv
bauruine has joined #riscv
jacklsw has quit [Quit: Back to the real world]
jacklsw has joined #riscv
pecastro has joined #riscv
tekkamanninja_ has quit [Remote host closed the connection]