2011-04-27 3 views
1

Есть ли какая-либо библиотека, доступная для Схемы для открытия/чтения URL-адресов? Я использую реализацию ypsilon, если это имеет значение.Открытие ссылок с помощью схемы?

Поиск в Google для чего-либо, связанного с Схемой, является самым бесполезным, и хотя я старался быть очень конкретным и творческим в своих поисках, у меня совершенно нет ничего.

Я не могу быть первым, кому нужна эта функциональность.

ответ

1

Вы не найдете ничего на Схеме вообще. Вам нужно сосредоточиться на реализации, которую вы используете.

Я использую Chicken, так вот как вы можете сделать это с помощью этой реализации, используя http-клиентский модуль.

(import (prefix http-client http:)) 
(http:with-input-from-request url #f read-string) 
+0

Спасибо. И я знаю, поэтому я много искал такие термины, как «ypsilon» «R6RS», «программирование» и исключая всевозможные несвязанные вещи, такие как «-python». Еще ничего. –

+0

Я не слишком хорошо знаком с ypsilon, который никогда не использовал его, но разве разработка этой реализации не выдерживала много лет назад? Во всяком случае, я думаю, что если вы хотите реализовать R6RS, тогда вы можете попробовать PLT Racket, потому что поддержка этой платформы живая и хорошая. – Shaun

+0

Как я понимаю (и Джон в другом комментарии, кажется, подтверждает) Racket на самом деле не предназначен для схемы вообще, а совсем другой язык целиком (почему его тогда называют реализацией схемы превосходит меня).Что касается ypsilon, я не слышал, что он заглох, но, по-видимому, ему нечего предложить помимо базового R6RS, чего, откровенно говоря, мало. –

0

У guile есть модуль www, возможно PLT/Racket тоже, но ничего в SRFI.

+0

Я вижу. К сожалению, guile не поддерживает R6RS, или я бы использовал его вместо этого. Я нашел источник для модуля www и попытался собрать только те части, которые мне нужны, но это проще сказать, чем сделать. Также, вероятно, потребуется какая-то работа, чтобы заставить его работать с ypsilon. –

1

Не то, что вы просили, но вот код Ракетка требуется для извлечения текста веб-сайта:

#lang racket 

(require net/url) 

(define website-text 
    (regexp-match 
    #px".*" 
    (get-pure-port (string->url "http://planet.racket-lang.org/")))) 

Кроме того, это может помочь вам рассматривать схему как семейство языков, а не на одном языке ; многие реализации сильно отличаются от стандартов RnRS.

+0

Спасибо. И именно поэтому я начинаю учиться не любить Схему, несмотря на все остальное. –

+0

В этом случае хорошо, что Racket - это не схема. –

+0

Я не знаю, хочу ли я обратиться к некоторому «бахрому». Мне также кажется странным назвать это реализацией Схемы, если она вообще не предназначена для Схемы. Мне очень нравятся стандарты, и Scheme, похоже, сильно страдает в этой области. Я думаю, мне, возможно, придется переключиться на другую форму Лиспа. Clojure кажется потенциально приятным с первого взгляда. –

Смежные вопросы