Lisp로 무엇을 만들까요?

iadoy의 이미지

이맥스를 연습하고 있습니다.
그러다가 Lisp라는 것을 듣게 되었는데요...이게 무슨 언어인지 궁금해서 인터넷을 찾아봤는데 자료가 많지 않더군요...

Lisp로 무엇을 할 수 있나라는 질문을 올리면 대다수의 사람들이 무엇을 만들고 싶으냐고 반문할 듯 합니다만
vs로 MFC 프로그래밍만 해 본 저로서는 Lisp로 무엇을 할 수 있느냐가 더 필요한 질문인 듯 합니다.

언어의 활용적인 부분에 있어서 Lisp에 대해서 좀 알려주세요~

bookgekgom의 이미지

다른 언어를 lisp 코드로 바꿔주는 프로그램 ...
---------------------------------------------------------------------------------------------------------------
조금씩 업데이트하고 있는 홈페이지 입니다.

http://jihwankim.co.nr

---------------------------------------------------------------------------------------------------------------
루비 온 레일즈로 만들고 있는 홈페이지 입니다.

http://jihwankim.co.nr

여러 프로그램 소스들이 있습니다.

필요하신분은 받아가세요.

mach의 이미지

http://en.wikipedia.org/wiki/Category:Common_Lisp_software
에서 찾아보시는 것은 어떤가요?

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

MORIARTY의 이미지

제 생각으로는 바로 비주얼 스튜디오에서의 Add-in 만들어 내는 그 비주얼 베이직이랑 비슷한 포지션입니다.

좀더 덧붙여 말하자면 EMACS에서 사용하는 LISP은 좀 변형이 된 EMACS Lisp 라서요. 비베 스크립트와 동일한 포지션이라고 보는것이 좀 더 정확할겁니다.

EMACS Lisp 은 EMACS의 추가기능 작성을 위해서만 쓰이고 있는 Lisp 언어 이고 확장자는 el 이라는 이름으로 저장을 하는듯 합니다.

LISP 학습의 이유가 이맥스의 추가 기능 작성때문이라면 Common Lisp 까지 배우실 필요는 없을겁니다.

그냥 GNU EMACS 위키에 있는 EMACS Lisp 메뉴얼을 천천히 읽어 보시면 됩니다.

Common Lisp은 3D 프로그래밍 까지 가능한듯 하군요. 레만님의 간단한 3D Raytracing 프로그램 어찌 보면 실행 속도만 감수한다면 C++/자바/하스켈 포지션에 들어가지 않을까 하고 생각하고 있습니다.

--------------------------------------------------------------------------------------
홈즈, 그만 좀 따라다니게나..

======= ======= ======= ======= =======
홈즈, 그만 좀 따라다니게나.

semmal의 이미지

elisp과 vbscript를 비교하니, 피겨여왕 김연아와 뒷동네 스케이트장에서 스케이트타는 배불뚝이 아저씨, 둘 다 스케이트 탄다는 점에서는 동일한 것 같습니다.
------------------------------
How many legs does a dog have?

------------------------------
How many legs does a dog have?

MORIARTY의 이미지

저의 의견은 비베와 리습의 기능, 생상성, 격을 비교하는것이 아닌, 사용되는곳이 비슷하다고 비주얼 스튜디오를 사용하시 분에게 이렇게 설명하면 이해가 쉽게다 싶어서 써본 지극히 개인적인 의견입니다.
----------------------------------------------------------------
홈즈, 그만 좀 따라다니게나..

======= ======= ======= ======= =======
홈즈, 그만 좀 따라다니게나.

hongminhee의 이미지

네, 맞는 말씀이시지만 윗 분은 정말 “둘 다 스케이트 탄다”는 바로 그 부분을 얘기하신 것 같습니다.

홍민희 (VLAAH, LangDev)

bootmeta의 이미지

사용하는 mode가 지원하지 않는 기능이라던지 반복해서 사용하는 utility등이 아쉬울 때가 종종 생깁니다.
자잘한 utility를 만들어 사용하다 익숙해지면 자신이 원하는 mode나, 자동화 tool을 만드는 방식으로 tech tree를 타게되죠.
결국 emacs와 elisp에 익숙해질 수록 모든 작업을 emacs에서 해결하려고하는 자신을 보게됩니다.
이런 경향떄문에, 많은 이들이 emacs를 심지어 os라고 까지 이야기합니다.
단, custom화할수록 본인은 편해지지만, 다른 이들은 이해못하는 지경으로 진화될 소지가 있습니다.

ps) excel에 익숙한 사람이 word 작업마저 excel로 하려는 것과 마찬가지입니다.

klenui의 이미지

올리신 글과는 포커스가 약간 다릅니다만,
elisp관련이라면 "Writing GNU Emacs Extensions"가 볼만하구요
bootmeta님 글에서 언급한 내용들, 즉 major, minor 만드는 법, 새로운 기능을 추가해서 키에 매핑하는법등이 나와있습니다.
유명한 SICP도 lisp(scheme)로 코드가 되어 있으니 lisp으로 할수 있는것중에 SICP를 공부한다..도 추가 되겠네요..
clisp도 library가 방대해서 이것저것 다 할수 있는것 같습니다. 어디선가 tk라이브러리도 봤던거 같네요.. 그냥 그렇구나 하고 넘어가서 정확한지는 모르겠습니만..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.