Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Lisp IDE Request

Name: Anonymous 2013-03-08 18:43

Is there a Lisp IDE, which would to use GUI editable blocks to visualize SEXPs?

I.e. pushing +/- would fold/unfold subtree, while insert/del would add/remove an element to underlying form, and pressing enter would edit it.

And cursor arrow would be bound not to chars, but to the SEXP elements themselves. Just imagine how many keystrokes it will save you!

I know there are Emacs hacks, but they are completely foreign and inconvenient, compared to real IDE.

Name: Anonymous 2013-03-10 9:18

who would program on his phone anyway, it's pretty inconvenient regardless what gui you would use

Name: Anonymous 2013-03-10 9:22

Which reminds me, propositional logic rewriting into various normal forms is a great application of pattern matching. How the fuck does anyone not using a functional language cope?

Name: Anonymous 2013-03-10 9:25

>>42
I don't use function languages and have no idea what you are talking about. Enlighten me, please.

Name: Anonymous 2013-03-10 9:40

>>43
For instance
(match '(foo bar)
  (`(,x baz) x)
  (`(foo ,y) y))

returns bar. I'm not even going to attempt to write out the equivalent imperatively, because it'd take so damn long.

Name: Anonymous 2013-03-10 9:53

>>41
When the only thin you have is a phone...

Name: Anonymous 2013-03-10 10:16

>>45
When you own a smart phone but no desktop or laptop computer, you are a fucking moron.

Name: Anonymous 2013-03-10 10:27

>>46
The only reason I own a laptop is because most apps require a keyboard.

Name: Anonymous 2013-03-10 10:30

>>47
Then you are not a programmer and should not care about programming on a phone.

Name: Anonymous 2013-03-10 10:43

>>44
That was as cryptic as it was smug. I barely understood it, knowing Clojure, Scheme and a fair bit of Haskell.

>>43
You could have just Googled it, and you probably already have, but here's the gist: rather than writing a complicated decision tree as a mess of ifs and switches, you state the expression for the value you want to test, and match it against a series of patterns.

Take this one for instance, in Clojure:

(let [x 1 y 2 z 4]
  (match [x y z]
     [1 2 b] [:a0 b]
     [a 2 4] [:a1 a]))


It's rather intuitive, you have these three variables in order, x y z. If the first and second elements match up to 1 and 2, you return a vector containing :a0 (a Clojure value, of "keyword" type) and the third. These are matched in order, so though the second pattern would also fit, it's ignored. I don't know of a language where it doesn't work like that.

Each language has its own pattern syntax for its different types, Haskell can destructure and look into its Data types, which is quite powerful. You should look into that language for that and many other reasons.

So that's it. Now you are enlightened.

Name: >>49 2013-03-10 10:45

>>49
Forgot to mention that the example came from the documentation of the match pattern matching library for Clojure: https://github.com/clojure/core.match/wiki/Overview

Name: Anonymous 2013-03-10 10:50

>>49
You clearly don't know enough Clojure, Scheme or Haskell.

Name: Anonymous 2013-03-10 10:51

>>48
Stop being arrogant piece of shit. Lisp should be available to everyone on any device.

Name: Anonymous 2013-03-10 10:56

>>52
Any given device should have a purpose. Phones are undeniably not fit for the purpose of development.

HIBT?

Name: Anonymous 2013-03-10 11:05

>>52
well, you declared your goal as to bring lisp to non-programing masses with easy to use visual ide, not to bring it to those who refuse to use anything except smartphones

Name: Anonymous 2013-03-10 11:05

>>51
It's not my fault that your shit pattern matching library is so noisy. And having to back-quote and comma-evaluate the variables which you can use outside regardless is pig disgusting.

Name: Anonymous 2013-03-10 11:05

>>53
Phones are undeniably not fit for the purpose of development.
prove it.

Name: Anonymous 2013-03-10 11:06

>>54
Most normal people prefer tablet PCs and smartphones.

Name: Not >>53 2013-03-10 11:07

>>56
Shit screen, shit input, fixed ways to use installed programs?

Name: Anonymous 2013-03-10 11:08

>>58
prove it.

Name: Anonymous 2013-03-10 11:10

>>55
It isn't, and you don't have to backquote, I just decided to. Do you not use `, ever? If you do, how was it difficult to read?

Name: Anonymous 2013-03-10 11:12

>>56
mechanical keyboard is more convenient for typing a lot
they have too small screens for working with text
>>57
those people who don't own a pc/laptop wouldn't like to learn to code anyway, at least most of them and those who own wouldn't like to use phone-based app as their primary ide

Name: Anonymous 2013-03-10 11:18

>>60
Not much really. I guess that with literal syntax for vectors, there's not much use for that sort of expressions outside of macros.

Name: Anonymous 2013-03-10 11:18

>>61
mechanical keyboard is more convenient for typing a lot
Why would you want typing a lot?

they have too small screens for working with text
Why would you prefer text to graphics?

It is like you live in 60ies and mainframes are everywhere.

those people who don't own a pc/laptop wouldn't like to learn to code anyway
Stop being arrogant piece of shit. Lisp should be available to everyone on any device.

Name: Anonymous 2013-03-10 11:20

>>60
And if you're going to be writing stuff like (`(,, you might as well be using Symta.

Name: Anonymous 2013-03-10 11:20

IPhone Lisp IDE can replace traditional CAR symbol with a picture of a car and CDR would be replaced by some kuudere. No text input needed.

Name: Not >>61 2013-03-10 11:23

>>63
they have too small screens for working with text
Why would you prefer text to graphics?
It is like you live in 60ies and mainframes are everywhere.


That's just fucking trolling.

Name: Anonymous 2013-03-10 11:24

>>62
I guess it depends. I prefer `(atom ,var atom ,var atom) because it highlights the variables, but you could equally prefer (list 'atom var 'atom var 'atom) because it highlights the symbols.

>>64
Ha ha funny joke!

Name: Anonymous 2013-03-10 11:26

>>65
>CDR would be replaced by some kuudere

aww~

you should be careful about the licensing question though

Name: Anonymous 2013-03-10 11:26

>>66
You couldn't tell from the rest of the thread?

Name: Anonymous 2013-03-10 11:33

>>66
Stop trolling.

Name: Anonymous 2013-03-10 11:49

>>69
Up to that point, I just thought he was a retard.

>>67
Ah, I see it now. Yeah, the symbol type is so neglected in Clojure that I hadn't even thought of actually using lists of them, as to make [m]`(foo ,x)[m] useful. You never see them used in the documentation, or code listings in blogs... or in my own code or that of a friend. As I said, you rarely see that form outside of macros.

Name: Anonymous 2013-03-10 22:17

>>37
That is very neat. It reminds of me of something you would see in Lain. Consider it planned.

Name: Anonymous 2013-03-10 22:22

>>45
..everything looks like a number pad!

Name: Anonymous 2013-03-10 22:31

hi,

I need help making a c++ program for school.

The program deals with the game connect 4(http://en.wikipedia.org/wiki/Connect_Four). The game consists of a grid : 3 rows x 3 columns (or 9 cells) :
To identify each cell, we index them : Cell 1 is at the bottom-left
while cell 9 is at the top-right of the grid. Use only arrays of one
dimension.
There are two players (indexed by 1 and 2) who take turn to
drop one token (identified by the user index) in either column 1,
2 or 3, with the objective to align 3 of his/her tokens in a row,
in a column or in a diagonal. Both players are humans and the program will request the players to input the column where they wish to drop the token.

Implement your program with one input to get the column index where the player will drop the token. Your program must check that the selected column is not full; as long as the player keeps selecting a column that is full, the program must ask the same player for another input. After getting a valid column index, have your program update the state of the grid, display its content and determine if the game is over or not. If the game is not over, then it is the turn of the other player. And so on.
Here are (some of ) the tasks your flowchart needs to implement (you may add others) :
a) how does the program determine that the game is over (either all the 9 cells are filled and
there is no winner or one of the player aligns 3 tokens in a row, a column or a diagonal) ?
b) The players take turn to drop their tokens. How does your program determine who is the
next player to play and how does it identify the tokens (from player 1 or from player 2) in the grid ?
c) If a column is full (ie. 3 tokens are already in the that column), no player can drop another
token in that column. How does your program identify the column(s) where the next player can still
drop his/her token ?

I do know how to generate a random number between 1,2, and 3:

#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
int main(int argc, char *argv[])
{
srand ( time(NULL) );
int code = rand()%3 +1; // code will be 1, 2 or 3
cout << code<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

Thank you very much :)

Name: Anonymous 2013-03-10 22:34

>>74
make two new threads with your question.

Name: Anonymous 2013-03-10 22:37

>>74
Hello there, Kelagar.

Name: Anonymous 2013-03-10 22:51

>>74
hi

here's the solution for all the programming homeworks you could ever think of
http://mitpress.mit.edu/sicp/full-text/book/book.html
really man it's AWEOSME! i read it and i became an EXPERT programmer d00d! then my dick grew TEN FUKIN INCHES MAN! u really gotta try this i can feel the smell of wet pussy hi there suika let me show you my cons cell if u know what i mean ;) oh you dirty oni

Name: Anonymous 2013-03-10 23:44

>>77
yes

Name: Anonymous 2013-03-11 0:43

>>44
>>49
I can make a macro for that, in my non-functional Common Lisp

Name: Anonymous 2013-03-11 17:51

Cloud9 has lisp support.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List