Bitcoin Forum
November 07, 2024, 09:58:35 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: What are your thoughts on programming with COMMON LISP,SCHEME?  (Read 4361 times)
jdbtracker (OP)
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500


Minimum Effort/Maximum effect


View Profile
June 28, 2013, 01:07:40 PM
 #1

Hi all thought I'd do something crazy with my time, if i was able to program Bitcoin in LISP, what crazy things do you think i could do with it?

i was particularly interested in the fact that Lisp can pretty much write itself while it is running, this could be an interesting point towards far more resiliency by the client... Self Programming bitcoin client maybe?

If you think my efforts are worth something; I'll keep on keeping on.
I don't believe in IQ, only in Determination.
Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1134


View Profile
June 28, 2013, 01:53:00 PM
 #2

If you wanted to get a feel for it, you could use http://clojure.org/ with bitcoinj. I know one guy has done this to build his own block explorer kind of app.
legitnick
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500



View Profile WWW
June 28, 2013, 04:23:13 PM
 #3

They work fine, lots of people have made some really awesome apps using those program codes.

5 BITCOIN RAFFLE GIVEAWAY
"I dont lift" - Lord Furrycoat
abbyd
Full Member
***
Offline Offline

Activity: 159
Merit: 100


View Profile
June 28, 2013, 07:09:35 PM
 #4

thought I'd do something crazy with my time ...

Bitcoin in LISP

Can't help but note the irony of your sig: "Minimum Effort/Maximum effect".
daybyter
Legendary
*
Offline Offline

Activity: 965
Merit: 1000


View Profile
June 29, 2013, 04:03:50 PM
 #5

I like scheme and lisp a lot, but I wouldn't use it for for mining.

I think, you could do cool trading stuff, though. Maybe use a java trading lib and jscheme for the trading code.

jdbtracker (OP)
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500


Minimum Effort/Maximum effect


View Profile
June 29, 2013, 04:09:39 PM
 #6

lol! Yeah the irony of it. Such a simple language with very extreme flexibility.

A high level language like this may give me the ability to prototype a very complex program without having to worry about the little details.
I was thinking of introducing AI routines into it to self optomize while it runs, just to see what the proper settings should be. later on I'll program it in a low level language to make it ultra efficient... not sure what to use though C? Machine code? Assembly on rails? lol!

If you think my efforts are worth something; I'll keep on keeping on.
I don't believe in IQ, only in Determination.
daybyter
Legendary
*
Offline Offline

Activity: 965
Merit: 1000


View Profile
June 29, 2013, 04:47:20 PM
 #7

I use drools for ai and java for the rest.

But I also use scheme and lisp a few years ago.

Let me know, if you are interested in a collab. I already have most of the code for the exchange APIs etc.

domob
Legendary
*
Offline Offline

Activity: 1135
Merit: 1170


View Profile WWW
July 01, 2013, 07:22:05 AM
 #8

I like scheme and lisp a lot, but I wouldn't use it for for mining.

I think, you could do cool trading stuff, though. Maybe use a java trading lib and jscheme for the trading code.

I agree.  Scheme is a very cool language, but it is surely best suited for abstracting high-level business-logic (with concise and clean code) and not for high-performance applications like mining.

Use your Namecoin identity as OpenID: https://nameid.org/
Donations: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS | GPG 0xA7330737
abbyd
Full Member
***
Offline Offline

Activity: 159
Merit: 100


View Profile
July 04, 2013, 08:09:38 AM
 #9

lol! Yeah the irony of it. Such a simple language with very extreme flexibility.

A high level language like this may give me the ability to prototype a very complex program without having to worry about the little details.

Uhhhuh, those outdated libraries should work really well for you, and installing and configuring the compiler/build environment on 4 different operating systems should keep you busy. If you're lucky, you could be compiling "hello world" after a week of work.

What exactly is the purpose of porting a mature GPL C++ application to LISP in 2013?  Sorry, I just can't think of ANY reason to do such a thing... particularly for someone who seeks "Minimum Effort/Maximum effect".
jdbtracker (OP)
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500


Minimum Effort/Maximum effect


View Profile
July 04, 2013, 07:51:29 PM
 #10

it's the features of the language that interest me. It can reprogram itself while it runs.
i was wondering what would happen if the program itself regulated itself for a specific target.
It's more of an experiment in AI than anything else.

I'm counting on modern compilers, a very full featured one that will allow me on the fly reprogramming, creating nodes that speak to each other mapping out the network.

If you think my efforts are worth something; I'll keep on keeping on.
I don't believe in IQ, only in Determination.
adrian33
Member
**
Offline Offline

Activity: 118
Merit: 10


View Profile
August 10, 2013, 06:53:41 PM
 #11

If you wanted to get a feel for it, you could use http://clojure.org/ with bitcoinj. I know one guy has done this to build his own block explorer kind of app.

Is the explorer online for the public?

natb
Newbie
*
Offline Offline

Activity: 28
Merit: 12


View Profile
August 11, 2013, 05:01:04 PM
 #12

I think if you are looking to write self-modifying (adaptive) code, I don't think doing anything on the Bitcoin transaction/mining level is interesting problem for this type of programming. Bitcoin transactions are bound by a known set of rules, and the core problem of generating blocks in mining revolves around using brute force to get a certain hash output.

I think the most interesting place for adaptive algorithms is in a trading application. Having your program attempt to 'learn' any patterns that may exist in Bitcoin trading is an interesting problem - and one that is also very applicable to the stock market as well not just Bitcoin.
jdbtracker (OP)
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500


Minimum Effort/Maximum effect


View Profile
August 11, 2013, 11:23:33 PM
 #13

I was playing around with rerouting algorithms, how the network speaks to all the peers making it adaptive to distribute for best pattern. Also thinking about adaptive algorithms for the proof of work,just seeing if the program could find a way of doing it more efficiently without increasing TH/s, for an alt-coin.

just thinking anywhere where adaptive behaviour would be interesting to see, if the Bitcoin protocol was fully distributed with the mining as well, so all mining nodes communicated with each other. It would be interesting to see a payout payed out directly to all participants instead of a competing few, you know like in a team environment. All nodes would help each other out regardless of POW, may help with everyone trying to make an alt POW coin.

or in the way that Bitcoin searches the chain, what if it looked at the chain over the network and only downloaded the chain as needed a la p2p torrent style? with a evolutionary algorithm you could do some amazing things, at many levels if it is implemented at all levels of Bitcoin, but constrained to the points of failure so it has a safe range to adapt the system.

The human aspects that we would interact with, the base settings, would be left alone, though it would be interesting to see a coin that fully adapted in coin amount, coin creation, and transaction limits interactively. I'd call it Botcoin Smiley

If you think my efforts are worth something; I'll keep on keeping on.
I don't believe in IQ, only in Determination.
biteasy
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile WWW
November 21, 2013, 09:02:54 PM
 #14

If you wanted to get a feel for it, you could use http://clojure.org/ with bitcoinj. I know one guy has done this to build his own block explorer kind of app.

Is the explorer online for the public?

Took a bit longer, but it is now Smiley https://www.biteasy.com
danneu
Newbie
*
Offline Offline

Activity: 32
Merit: 0



View Profile
November 21, 2013, 10:20:59 PM
Last edit: November 21, 2013, 10:31:34 PM by danneu
 #15

I have an experimental Clojure implementation that has begun the journey of reimplementing Bitcoin from scratch.

At the moment, it implements most of the wire protocol, can talk to nodes, parse the blockchain into a Datomic database, and host a local block-explorer on top of that data.

Bitcoin is an interesting protocol to implement with a functional language since its core datastructure is one big immutable list of cons operations, so a Clojure implementation is more interesting to me for its functional paradigm than its Lispyness.

My goal right now is to shape it into something end-users can easily use to query the fully-indexed blockchain locally.
biteasy
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile WWW
November 22, 2013, 07:42:28 AM
 #16

I have an experimental Clojure implementation that has begun the journey of reimplementing Bitcoin from scratch.

At the moment, it implements most of the wire protocol, can talk to nodes, parse the blockchain into a Datomic database, and host a local block-explorer on top of that data.

Bitcoin is an interesting protocol to implement with a functional language since its core datastructure is one big immutable list of cons operations, so a Clojure implementation is more interesting to me for its functional paradigm than its Lispyness.

My goal right now is to shape it into something end-users can easily use to query the fully-indexed blockchain locally.

Is there any code online that we can have a look?
jdbtracker (OP)
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500


Minimum Effort/Maximum effect


View Profile
November 22, 2013, 12:52:44 PM
 #17

Wow thank you very much, Clojure, sounds like a great idea.

I'm currently just researching parameters to modify to create an experimental coin, just basics, modifiable blocksize, reward, mining distribution/organization, peer allocation and distribution of blockchain... also brain storming on modifications to the block structure, direct user to user interaction and collaboration, anything that can be modified I want to know what happens for future coin designs.

I'm learning Clojure right now, it sure as hell beats making Bots from C++... difficult.




If you think my efforts are worth something; I'll keep on keeping on.
I don't believe in IQ, only in Determination.
corebob
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
November 22, 2013, 01:09:52 PM
 #18

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!