Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Comment Editing changed the question, unfortunately (Score 2) 108

I'm glad this story got posted and sxc is getting some press, but the real question I asked was:

It is unknown exactly what power might come about from this combination of low level processing with high level code generation. Can you think of any possible uses?

The idea of using pre-processors to generate C code is not new to programming; but the usage of the full power of Common Lisp in such a natural way is up to the question.

Comment Re:Back to the future (Score 1) 108

Thank you for your anecdote, I appreciate the comparison with on of my favourite supercomputer companies! sxc is not necessarily a 'Lisp to C' converter, but a C -> C converter with the optional metaprogramming facilities to generate code using Common Lisp. The syntax of the sxc language is Lisp like; the semantics are C. So really this is a C -> C translator with added meta facilities.

The code that goes in and the code that comes out is strictly C. What you can do with the added ability of Common Lisp is really what's at question for me.

Comment Re:Facebook (Score 2) 108

Unfortunately the editors made a slight mistake with the description of this tool. It's not to 're-write your lisp code in C', it's to write new C code using Lisp as the macro system.

HipHop was interesting in that it would compile PHP and make it run faster, but it's not similar to this in any way.

sxc is a dialect of Lisp that has the semantics of C. There's not cross compilation from anything to anything; the syntax of sxc is that of C, but you're editing a representation of the parse tree. This is a list, and the meta-programming facilities allow you to generate code using Common Lisp, the most powerful language for generating that type of data structure; the list.

The homoiconicity that this provides to C gives me suspect to say that it is a more powerful language overall than cc + cpp.

Submission + - sxc: generate C with Common Lisp macros (github.com)

kruhft writes: sxc is an S-Expression based language transpiler that has the feel of C wrapped in parenthesized expressions that compiles to standard C code. This structure allows for the creation of code generation macros using the full power of the host Common Lisp environment, a language designed for operating on S-Expressions, also known as Lists. It is unknown exactly what power might come about from this combination of low level processing with high level code generation. Can you think of any possible uses?

Submission + - An Emacs Lisp JIT Compiler Released (github.com)

kruhft writes: An Emacs Lisp JIT compiler has been released showing a 25% speedup improvement with the benchmarked raytracer. Using libjit, it 'compiles down the spine' of the bytecode vectors, moving the overhead of the interpreter loop into the hardware execution unit. Work in progress, but a good start on speeding up emacs overall. Thoughts?

Comment Re:Not me (Score 1) 535

It's getting so bad I've switched to Solaris for my main machine, and 11.1 at that which is over 10 years old. Still the same UNIX software, an antique browser that hobbles along (but Gail works in HTML mode) but...it's solid and fast and works and has all the Solaris niceness of dtrace, ZFS and whatever else is hidden in there under the hood that hasn't changed in years and from a developer that strives to keep the platform stable for developers.

Linux has completely jumped the shark for my day to day usage. Screen blanking and never coming back, processes randomly hanging and crashing the system to not booting at all. It's been an exercise in complete frustration lately, unlike the 20 years of regular frustration knowing that what i was using *was* better than the alternatives.

So, yeah, screw it. I'm going corporate.

Comment We need a new Moore's Law for Memory (Score 1) 310

The next logical step in computer architecture with the speed of processors reaching a limit and the number of cores not exploding like they should be in desktop processors (although they are in GPUS) is memory. What if memory (RAM) was doubling every year and a half in computers and what that would do to architecture and software design; being a computer engineer I can see plenty of challenges that would come from that type of stretching of computer capabilities. Currently the 16GB standard is too tight and RAM is cheap. Let's start building these machines out and see what we can do with all the extra room.

Submission + - The easiest way to share and distribute files on the planet.[1] (dropclickpaste.com) 3

kruhft writes: Built to be the simplest and most economical (free) file sharing and distribution app out there, you simply Drop (a file or files), Click (and copy a link) and then Paste the link wherever you want to share your files on Social Media, Email and IM. Image, audio and video file preview is supported by the client.

Most file sharing sites store your data on their servers for a period of time before they distribute your files; with Drop, Click, Paste! simply keep the tab open to continue sharing and seeding your files. Built using Web Torrents so no central server storage is required, maintaining your data privacy and the file distribution network load is shared across all users. The future of file sharing is here and it's dead simple to use. Give it a try today!

[1] http://dropclickpaste.com/

User Journal

Journal Journal: The Game Boy, a hardware autopsy - Part 1: the CPU

Have you ever wondered how the Game Boy works? How the games that defined the history of the handheld world were made? This video series hopes to answer these questions and more concerning one of the most successful gaming platforms ever.

YouTube Link

User Journal

Journal Journal: Prolefeed

Prolefeed is a Newspeak term in the novel Nineteen Eighty-Four by George Orwell. It was used to describe the deliberately superficial literature, movies and music that were produced by Prolesec, a section of the Ministry of Truth, to keep the "proles" (i.e., proletariat) content and to prevent them from becoming too knowledgeable.

Wikipedia Article

User Journal

Journal Journal: Eturia - The (Programmable) Computer for All YouTube Series Schedule

1) Syntax 1 - Symbols, Numbers, Comments and Lists
2) Syntax 2 - Quoting, Comman and Commaat and Booleans
3) Builtins 1 - Atom, Eq
4) Builtins 2 - Cons, Car and Cdr
5) Builtins 3 - Cond
6) Builtins 4 - Quoting with qquote and Set
7) Builtins 5 - Lambda and self
8) Builtins 6 - Values and Bind
9) BUiltins 7 - Defmacro, +, -, *, /, %
10) Builtins 8 - env, fenv, rm, rmf, load, save, me
11) Exercises 1 - if, when, unless
12) Exercises 2 - reverse

User Journal

Journal Journal: 'A (Programmable) Computer for All'

Today I came up with a slogan for Eturia: A (Programmable) Computer for All. I think this is important in this day and age to provide students of all ages a simple, yet powerful, programming environment along with the proper educational materials they need to learn to use it. I'll be using this Journal as a log of my thoughts and explorations into this idea. Stay tuned.

Submission + - Eturia - A (Programmable) Computer For All for Education (busfactor1.ca)

kruhft writes: The Eturia project, a browser based Personal Computer designed to be free for all to use (and program) on the Internet, is starting to reach maturity and move to the later embryonic stage. It is being livecoded at Livecoding.tv, has some new documentation, and plan of a possible future educational YouTube channel teaching it's use and programming from the ground up. You can try Eturia and follow along with the documentation here:

        http://busfactor1.ca/bin/eturi...

Eturia is meant to be a tool for beginners to experts learn the design and development of programming languages with very little programming knowledge required to start with the 'course'.

Slashdot Top Deals

Any circuit design must contain at least one part which is obsolete, two parts which are unobtainable, and three parts which are still under development.

Working...