Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×

Comment A (programming) game of Space(s) exploration (Score 1) 313

Explain:

https://github.com/BusFactor1I...

It's a Korn Shell script.

Check the readme above for a bit more of an explanation. It's fun. And really challenging, even though there's only 3 words and 3 bits to work with on the virtual machine, a 'Seed'. You combine the words together and see if the calculation computes correctly based on your assumption on a non-deterministic machine. It starts out easy, but it get's difficult quickly. Here's the start. Check the github for the rest: #!/bin/ksh DEBUG=t # expect - test your expectations # # BusFactor1 Inc. # 2017 # License: AGPL set +k tee () { echo -n "$1 " /usr/bin/tee $2 } function tri { # execute the next word if x is 1 x=$(

Submission + - Ask Slashdot: Would you design a modern CPU with virtual memory support?

kruhft writes: Virtual memory[1] is useful for a number of things[2], but can takes up a large amount of die space and development time during the development of a CPU to be both efficient and correct. With the advent of 64+ bit architectures and cheap memory available today, an extended address space and paging aren't specifically needed for many tasks. Memory safe, high level languages[3] need less 'isolation' and 'protection' from a VM subsystem than traditional languages like C and C++. Page tables help the OS organize non-contiguous physical memory for applications, but is that as much an issue today, especially for symbolic and object based languages?

If one was to design a new 'high level' language CPU today, would it be seen as advantageous to include a traditional multi-level page table based virtual memory system, or could the resources be put to better use in other areas of the chip design?

[1] https://en.wikipedia.org/wiki/...

[2] The primary benefits of virtual memory include freeing applications from having to manage a shared memory space, increased security due to memory isolation, and being able to conceptually use more memory than might be physically available, using the technique of paging.

[3] http://dl.acm.org/citation.cfm...

Comment Re:Editing changed the question, unfortunately (Score 1) 108

Thank you for the interesting response. Could you explain a bit more about what you mean by "using for example tree-pattern-matching replacement into a low-level form". What would you be replacing with what?

My goto performance sensitive problem has always been raytracing, so I think that's the next logical project to implement with this tool and see where it goes.

Comment Re:Asking Obvious (Score 1) 108

Unfortunately, the editors messed up a bit with the explanation of what sxc is and what it is good for. It's not about compiling your Lisp code to C, it's about writing C code using Lisp. With the S-Expression syntax of sxc, a whole world of macro programming and code generation become possible in a natural matter leading from the using of S-Expression and macros. This, so far, has been uncharted territory, although his type of project is quite popular to implement. It seems that nobody has actually used to it's full potential yet; hence the question.

What do you think that the combination of a high level language for the generation of a low level processing language would provide, if anything over the normal combinations of cc + cpp?

Slashdot Top Deals

Truly simple systems... require infinite testing. -- Norman Augustine

Working...