top | item 12433069

Taylor – Swift on bare metal

157 points| tambourine_man | 9 years ago |github.com | reply

69 comments

order
[+] klange|9 years ago|reply
I'm the author. This wasn't something anyone was supposed to 'find', it's not even really a 'project', just a quick hack to demonstrate a point; I don't even think it's valid to say the project name is "taylor", it's just the name of the repository - I probably should have just called it "swift-on-baremetal" or something equally boring. I have a history of my stupid little 'projects' showing up on HN.
[+] Jach|9 years ago|reply
Please don't let the anti-fun brigade on HN stop you.
[+] lucasnemeth|9 years ago|reply
You should be proud of your creative projects and funny names!
[+] rburhum|9 years ago|reply
I dont use Swyft, so definitely have no interest in running it bare metal... but the name is brilliant. It made me click on the link. Just had to tell you that!
[+] tempodox|9 years ago|reply
I'm curious as to what kind of bare metal is meant. From the “ elf_i386” target I infer it's some kind of Linux machine?
[+] ebbv|9 years ago|reply
Maybe we need a rule about submitting other people's projects? Even though I don't mind if people check out/use my public GitHub repos I would not want them submitted on HN by someone else.
[+] unethical_ban|9 years ago|reply
The submitter seems to be a spammer for submitting stories to HN that don't generate much utility.
[+] paulvs|9 years ago|reply
Could someone please explain what this project is about? I gather it's a new implementation of the Swift language without using Xcode's compiler and Swift standard library, but I find the full readme very undescriptive of what this is and why it's useful.

EDIT: Clicking through the source I found about a dozen files in total, mostly scripts and make files.

[+] gilgoomesh|9 years ago|reply
It builds Swift without any standard library, runtime or linkage to other components. This isn't normally possible with the Swift compiler.

The solution doesn't involve changing the compiler or building everything into the executable. Instead, this is a makefile coordinated pipeline (front-end swiftc, back-end clang) plus a start.s and a system.c file that omit any need for typical standard library components in the first place.

i.e. a "bare metal" compilation

[+] TheHydroImpulse|9 years ago|reply
It's not a new implementation so much as compiling Swift for different architectures and environments not supported by the compiler.

It still uses the Swift compiler but emits LLVM IR and then uses Clang to target to the different environments.

[+] kr7|9 years ago|reply
It is for running Swift code without an operating system.

It could be used to write a kernel in Swift.

[+] danieleggert|9 years ago|reply
You can use swiftc (the Swift compiler) without Xcode just like you can use clang without Xcode. Xcode is just an IDE.
[+] veidr|9 years ago|reply

    Horrible Taylor Swift puns in Swift development 
    considered harmful. 
It's already been done[1], it makes your project completely un-Googleable, and it also pollutes the search corpus making it harder for automatons to weed out Taylor Swift stories even when searching for things like "Swift compiler intermediate representation".

Please stop!

[1]: https://github.com/izqui/Taylor

[+] elt0n|9 years ago|reply
Someone slept though their humor class.

Try this -> :)

[+] reacweb|9 years ago|reply
As a go player, I had the same problem when google has created the go language.
[+] tener|9 years ago|reply
This is a problem with Google, not with the names.
[+] fdej|9 years ago|reply
No deliberate puns required. As a computer algebraist, it bothers me that "Taylor shift" is un-Googleable.
[+] wruza|9 years ago|reply
Why stop? Maybe it is google that should implement something like ':technology' area searches.
[+] tempodox|9 years ago|reply

    Lack of humour considered harmful.
[+] mrtksn|9 years ago|reply
maybe un-Googleable but social-mediable as the pun increases visibility when the sharing and voting mechanism is involved.
[+] blazespin|9 years ago|reply
"What's in here right now doesn't need any Swift runtime support. That will change very quickly as we try to add support for things like arrays, classes, structs, strings, etc."
[+] pjmlp|9 years ago|reply
Didn't get the point of using inline assembly for outportb instead of making it part of start.s.

Just to prove the point of calling something with C calling convention?

[+] klange|9 years ago|reply
Yes.
[+] davidrusu|9 years ago|reply
Cool! but you have a name collision: https://github.com/izqui/Taylor
[+] Benjamin_Dobell|9 years ago|reply
Name collisions aren't uncommon, of course it's courteous to try avoid them. But, from the page you linked:

> Disclaimer: Not actively working on it anymore. You can check out some alternatives

[+] shurcooL|9 years ago|reply
I can think of at least one other "name" collision.
[+] elt0n|9 years ago|reply
Hahahahaha this name is amazing!
[+] emmelaich|9 years ago|reply
I don't normally comment like this but ..

That title bothers me a bit.

[+] ebola1717|9 years ago|reply
But software projects are swarmed with bad puns
[+] xk0nsid|9 years ago|reply
I up voted this post just because of the name. Very clever. Kudos.
[+] adamnemecek|9 years ago|reply
don't be surprised if people can't find your project with a name like that.
[+] ajeet_dhaliwal|9 years ago|reply
It was hard enough when Swift 1.0 was released and Google searches kept bringing up this woman, this will be worse.
[+] mattbgates|9 years ago|reply
Does anyone see the awesomeness of the title of this post?

Taylor Swift.

Ha.

[+] racl101|9 years ago|reply
Bad project name for SEO purposes. Do you really want people to trudge through SERPs of some popstar who makes vapid music before they get to your project?
[+] random_rr|9 years ago|reply
Nice elitism 10/10 I like that you called the project name bad AND insulted a talented performer, well done.